From be751190af8ce80363aa2f55607745fe1dbf7f9b Mon Sep 17 00:00:00 2001 From: Payton Burdette Date: Thu, 25 May 2023 12:37:05 -0400 Subject: [PATCH 1/4] Make ci badge design compliant Make the ci status badge an actual badge and match the design system. Changelog: changed --- .../commit/pipelines/pipelines_table.vue | 2 +- .../vue_shared/components/ci_badge_link.vue | 75 ++++++++++++++++--- lib/gitlab/ci/status/scheduled.rb | 4 +- lib/gitlab/ci/status/success_warning.rb | 2 +- locale/gitlab.pot | 12 ++- .../commit_pipeline_status_component_spec.js | 2 +- .../components/ci_badge_link_spec.js | 51 +++++++++++-- spec/lib/gitlab/ci/status/scheduled_spec.rb | 4 +- .../gitlab/ci/status/success_warning_spec.rb | 2 +- 9 files changed, 125 insertions(+), 29 deletions(-) diff --git a/app/assets/javascripts/commit/pipelines/pipelines_table.vue b/app/assets/javascripts/commit/pipelines/pipelines_table.vue index f2dac15a99eb2c..8c8293eb09e8bb 100644 --- a/app/assets/javascripts/commit/pipelines/pipelines_table.vue +++ b/app/assets/javascripts/commit/pipelines/pipelines_table.vue @@ -41,7 +41,7 @@ export default { viewType: { type: String, required: false, - default: 'child', + default: 'root', }, canCreatePipelineInTargetProject: { type: Boolean, diff --git a/app/assets/javascripts/vue_shared/components/ci_badge_link.vue b/app/assets/javascripts/vue_shared/components/ci_badge_link.vue index 7b5ded9348fdaa..2fc25bfc8e16cd 100644 --- a/app/assets/javascripts/vue_shared/components/ci_badge_link.vue +++ b/app/assets/javascripts/vue_shared/components/ci_badge_link.vue @@ -1,5 +1,5 @@ diff --git a/lib/gitlab/ci/status/scheduled.rb b/lib/gitlab/ci/status/scheduled.rb index e9068c326cfcb8..8526becfef9cc8 100644 --- a/lib/gitlab/ci/status/scheduled.rb +++ b/lib/gitlab/ci/status/scheduled.rb @@ -5,11 +5,11 @@ module Ci module Status class Scheduled < Status::Core def text - s_('CiStatusText|delayed') + s_('CiStatusText|scheduled') end def label - s_('CiStatusLabel|delayed') + s_('CiStatusLabel|scheduled') end def icon diff --git a/lib/gitlab/ci/status/success_warning.rb b/lib/gitlab/ci/status/success_warning.rb index 47623ad945fe68..84a0e52f518337 100644 --- a/lib/gitlab/ci/status/success_warning.rb +++ b/lib/gitlab/ci/status/success_warning.rb @@ -9,7 +9,7 @@ module Status # class SuccessWarning < Status::Extended def text - s_('CiStatusText|passed') + s_('CiStatusText|warning') end def label diff --git a/locale/gitlab.pot b/locale/gitlab.pot index d66a953275ec44..733cf34aa102da 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -9595,9 +9595,6 @@ msgstr "" msgid "CiStatusLabel|created" msgstr "" -msgid "CiStatusLabel|delayed" -msgstr "" - msgid "CiStatusLabel|failed" msgstr "" @@ -9616,6 +9613,9 @@ msgstr "" msgid "CiStatusLabel|preparing" msgstr "" +msgid "CiStatusLabel|scheduled" +msgstr "" + msgid "CiStatusLabel|skipped" msgstr "" @@ -9655,12 +9655,18 @@ msgstr "" msgid "CiStatusText|preparing" msgstr "" +msgid "CiStatusText|scheduled" +msgstr "" + msgid "CiStatusText|skipped" msgstr "" msgid "CiStatusText|waiting" msgstr "" +msgid "CiStatusText|warning" +msgstr "" + msgid "CiStatus|running" msgstr "" diff --git a/spec/frontend/commit/commit_pipeline_status_component_spec.js b/spec/frontend/commit/commit_pipeline_status_component_spec.js index e474ef9c635639..ff003d177cdf25 100644 --- a/spec/frontend/commit/commit_pipeline_status_component_spec.js +++ b/spec/frontend/commit/commit_pipeline_status_component_spec.js @@ -137,7 +137,7 @@ describe('Commit pipeline status component', () => { }); it('renders CI icon with the correct title and status', () => { - expect(findCiIcon().attributes('title')).toEqual('Pipeline: passed'); + expect(findCiIcon().attributes('title')).toEqual('Pipeline: Passed'); expect(findCiIcon().props('status')).toEqual(mockCiStatus); }); }); diff --git a/spec/frontend/vue_shared/components/ci_badge_link_spec.js b/spec/frontend/vue_shared/components/ci_badge_link_spec.js index afb509b9fe6138..1415e7037fb751 100644 --- a/spec/frontend/vue_shared/components/ci_badge_link_spec.js +++ b/spec/frontend/vue_shared/components/ci_badge_link_spec.js @@ -1,4 +1,4 @@ -import { GlLink } from '@gitlab/ui'; +import { GlBadge } from '@gitlab/ui'; import { shallowMount } from '@vue/test-utils'; import CiBadgeLink from '~/vue_shared/components/ci_badge_link.vue'; import CiIcon from '~/vue_shared/components/ci_icon.vue'; @@ -46,6 +46,13 @@ describe('CI Badge Link Component', () => { icon: 'status_pending', details_path: 'status/pending', }, + preparing: { + text: 'preparing', + label: 'preparing', + group: 'preparing', + icon: 'status_preparing', + details_path: 'status/preparing', + }, running: { text: 'running', label: 'running', @@ -53,6 +60,13 @@ describe('CI Badge Link Component', () => { icon: 'status_running', details_path: 'status/running', }, + scheduled: { + text: 'scheduled', + label: 'scheduled', + group: 'scheduled', + icon: 'status_scheduled', + details_path: 'status/scheduled', + }, skipped: { text: 'skipped', label: 'skipped', @@ -61,8 +75,8 @@ describe('CI Badge Link Component', () => { details_path: 'status/skipped', }, success_warining: { - text: 'passed', - label: 'passed', + text: 'warning', + label: 'passed with warnings', group: 'success-with-warnings', icon: 'status_warning', details_path: 'status/warning', @@ -77,6 +91,8 @@ describe('CI Badge Link Component', () => { }; const findIcon = () => wrapper.findComponent(CiIcon); + const findBadge = () => wrapper.findComponent(GlBadge); + const findBadgeText = () => wrapper.find('[data-testid="ci-badge-text"'); const createComponent = (propsData) => { wrapper = shallowMount(CiBadgeLink, { propsData }); @@ -87,21 +103,42 @@ describe('CI Badge Link Component', () => { expect(wrapper.attributes('href')).toBe(statuses[status].details_path); expect(wrapper.text()).toBe(statuses[status].text); - expect(wrapper.classes()).toContain('ci-status'); - expect(wrapper.classes()).toContain(`ci-${statuses[status].group}`); expect(findIcon().exists()).toBe(true); }); + it.each` + status | textColor | variant + ${statuses.success} | ${'gl-text-green-700'} | ${'success'} + ${statuses.success_warining} | ${'gl-text-orange-700'} | ${'warning'} + ${statuses.failed} | ${'gl-text-red-700'} | ${'danger'} + ${statuses.running} | ${'gl-text-blue-700'} | ${'info'} + ${statuses.pending} | ${'gl-text-orange-700'} | ${'warning'} + ${statuses.preparing} | ${'gl-text-gray-600'} | ${'muted'} + ${statuses.canceled} | ${'gl-text-gray-700'} | ${'neutral'} + ${statuses.scheduled} | ${'gl-text-gray-600'} | ${'muted'} + ${statuses.skipped} | ${'gl-text-gray-600'} | ${'muted'} + ${statuses.manual} | ${'gl-text-gray-700'} | ${'neutral'} + ${statuses.created} | ${'gl-text-gray-600'} | ${'muted'} + `( + 'should contain correct badge class and variant for status: $status.text', + ({ status, textColor, variant }) => { + createComponent({ status }); + + expect(findBadgeText().classes()).toContain(textColor); + expect(findBadge().props('variant')).toBe(variant); + }, + ); + it('should not render label', () => { createComponent({ status: statuses.canceled, showText: false }); expect(wrapper.text()).toBe(''); }); - it('should emit ciStatusBadgeClick event', async () => { + it('should emit ciStatusBadgeClick event', () => { createComponent({ status: statuses.success }); - await wrapper.findComponent(GlLink).vm.$emit('click'); + findBadge().vm.$emit('click'); expect(wrapper.emitted('ciStatusBadgeClick')).toEqual([[]]); }); diff --git a/spec/lib/gitlab/ci/status/scheduled_spec.rb b/spec/lib/gitlab/ci/status/scheduled_spec.rb index 8a923faf3f97e7..59354b7fb4af3f 100644 --- a/spec/lib/gitlab/ci/status/scheduled_spec.rb +++ b/spec/lib/gitlab/ci/status/scheduled_spec.rb @@ -8,11 +8,11 @@ end describe '#text' do - it { expect(subject.text).to eq 'delayed' } + it { expect(subject.text).to eq 'scheduled' } end describe '#label' do - it { expect(subject.label).to eq 'delayed' } + it { expect(subject.label).to eq 'scheduled' } end describe '#icon' do diff --git a/spec/lib/gitlab/ci/status/success_warning_spec.rb b/spec/lib/gitlab/ci/status/success_warning_spec.rb index 86b826ad272b2e..55ac77c776550a 100644 --- a/spec/lib/gitlab/ci/status/success_warning_spec.rb +++ b/spec/lib/gitlab/ci/status/success_warning_spec.rb @@ -10,7 +10,7 @@ end describe '#test' do - it { expect(subject.text).to eq 'passed' } + it { expect(subject.text).to eq 'warning' } end describe '#label' do -- GitLab From f1fe96cbe9fdb0d298d6b60ee20df19d8786a78a Mon Sep 17 00:00:00 2001 From: Payton Burdette Date: Tue, 30 May 2023 14:26:17 -0400 Subject: [PATCH 2/4] Fix failing specs --- .../vue_shared/components/ci_badge_link.vue | 1 + .../user_sees_merge_request_pipelines_spec.rb | 14 +++++++------- .../merge_request/user_sees_pipelines_spec.rb | 2 +- .../commit/user_sees_pipelines_tab_spec.rb | 2 +- .../projects/jobs/user_browses_jobs_spec.rb | 8 ++++---- .../projects/pipelines/pipelines_spec.rb | 16 ++++++++-------- .../commit_pipeline_status_component_spec.js | 2 +- .../vue_shared/components/ci_badge_link_spec.js | 7 +++++++ spec/lib/gitlab/ci/status/build/factory_spec.rb | 2 +- 9 files changed, 31 insertions(+), 23 deletions(-) diff --git a/app/assets/javascripts/vue_shared/components/ci_badge_link.vue b/app/assets/javascripts/vue_shared/components/ci_badge_link.vue index 2fc25bfc8e16cd..9023807eba3a20 100644 --- a/app/assets/javascripts/vue_shared/components/ci_badge_link.vue +++ b/app/assets/javascripts/vue_shared/components/ci_badge_link.vue @@ -112,6 +112,7 @@ export default { :href="detailsPath" :size="badgeSize" :variant="badgeStyles.variant" + :data-testid="`ci-badge-${status.text}`" data-qa-selector="status_badge_link" @click="$emit('ciStatusBadgeClick')" > diff --git a/spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb b/spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb index 7d024103943c3a..ca12e0e2b655b4 100644 --- a/spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb +++ b/spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb @@ -67,7 +67,7 @@ it 'sees branch pipelines and detached merge request pipelines in correct order' do page.within('.ci-table') do - expect(page).to have_selector('.ci-created', count: 2) + expect(page).to have_selector('[data-testid="ci-badge-created"]', count: 2) expect(first('[data-testid="pipeline-url-link"]')).to have_content("##{detached_merge_request_pipeline.id}") end end @@ -103,7 +103,7 @@ it 'sees branch pipelines and detached merge request pipelines in correct order' do page.within('.ci-table') do - expect(page).to have_selector('.ci-pending', count: 4) + expect(page).to have_selector('[data-testid="ci-badge-pending"]', count: 4) expect(all('[data-testid="pipeline-url-link"]')[0]) .to have_content("##{detached_merge_request_pipeline_2.id}") @@ -246,7 +246,7 @@ it 'sees a branch pipeline in pipeline tab' do page.within('.ci-table') do - expect(page).to have_selector('.ci-created', count: 1) + expect(page).to have_selector('[data-testid="ci-badge-created"]', count: 1) expect(first('[data-testid="pipeline-url-link"]')).to have_content("##{push_pipeline.id}") end end @@ -299,7 +299,7 @@ it 'sees branch pipelines and detached merge request pipelines in correct order' do page.within('.ci-table') do - expect(page).to have_selector('.ci-pending', count: 2) + expect(page).to have_selector('[data-testid="ci-badge-pending"]', count: 2) expect(first('[data-testid="pipeline-url-link"]')).to have_content("##{detached_merge_request_pipeline.id}") end end @@ -315,7 +315,7 @@ it 'sees pipeline list in forked project' do visit project_pipelines_path(forked_project) - expect(page).to have_selector('.ci-pending', count: 2) + expect(page).to have_selector('[data-testid="ci-badge-pending"]', count: 2) end context 'when a user updated a merge request from a forked project to the parent project' do @@ -341,7 +341,7 @@ it 'sees branch pipelines and detached merge request pipelines in correct order' do page.within('.ci-table') do - expect(page).to have_selector('.ci-pending', count: 4) + expect(page).to have_selector('[data-testid="ci-badge-pending"]', count: 4) expect(all('[data-testid="pipeline-url-link"]')[0]) .to have_content("##{detached_merge_request_pipeline_2.id}") @@ -384,7 +384,7 @@ it 'sees pipeline list in forked project' do visit project_pipelines_path(forked_project) - expect(page).to have_selector('.ci-pending', count: 4) + expect(page).to have_selector('[data-testid="ci-badge-pending"]', count: 4) end end diff --git a/spec/features/merge_request/user_sees_pipelines_spec.rb b/spec/features/merge_request/user_sees_pipelines_spec.rb index f92ce3865a9585..a2796cd250bdf7 100644 --- a/spec/features/merge_request/user_sees_pipelines_spec.rb +++ b/spec/features/merge_request/user_sees_pipelines_spec.rb @@ -42,7 +42,7 @@ wait_for_requests page.within('[data-testid="pipeline-table-row"]') do - expect(page).to have_selector('.ci-success') + expect(page).to have_selector('[data-testid="ci-badge-passed"]') expect(page).to have_content(pipeline.id) expect(page).to have_content('API') expect(page).to have_css('[data-testid="pipeline-mini-graph"]') diff --git a/spec/features/projects/commit/user_sees_pipelines_tab_spec.rb b/spec/features/projects/commit/user_sees_pipelines_tab_spec.rb index da83bbcb63aecd..e44364c7f2db7c 100644 --- a/spec/features/projects/commit/user_sees_pipelines_tab_spec.rb +++ b/spec/features/projects/commit/user_sees_pipelines_tab_spec.rb @@ -36,7 +36,7 @@ wait_for_requests page.within('[data-testid="pipeline-table-row"]') do - expect(page).to have_selector('.ci-success') + expect(page).to have_selector('[data-testid="ci-badge-passed"]') expect(page).to have_content(pipeline.id) expect(page).to have_content('API') expect(page).to have_css('[data-testid="pipeline-mini-graph"]') diff --git a/spec/features/projects/jobs/user_browses_jobs_spec.rb b/spec/features/projects/jobs/user_browses_jobs_spec.rb index d74a3d28068dda..aeba53c22b6abb 100644 --- a/spec/features/projects/jobs/user_browses_jobs_spec.rb +++ b/spec/features/projects/jobs/user_browses_jobs_spec.rb @@ -72,7 +72,7 @@ def visit_jobs_page wait_for_requests - expect(page).to have_selector('.ci-canceled') + expect(page).to have_selector('[data-testid="ci-badge-canceled"]') expect(page).not_to have_selector('[data-testid="jobs-table-error-alert"]') end end @@ -94,7 +94,7 @@ def visit_jobs_page wait_for_requests - expect(page).to have_selector('.ci-pending') + expect(page).to have_selector('[data-testid="ci-badge-pending"]') end end @@ -134,7 +134,7 @@ def visit_jobs_page wait_for_requests - expect(page).to have_selector('.ci-pending') + expect(page).to have_selector('[data-testid="ci-badge-pending"]') end it 'unschedules a job successfully' do @@ -142,7 +142,7 @@ def visit_jobs_page wait_for_requests - expect(page).to have_selector('.ci-manual') + expect(page).to have_selector('[data-testid="ci-badge-manual"]') end end diff --git a/spec/features/projects/pipelines/pipelines_spec.rb b/spec/features/projects/pipelines/pipelines_spec.rb index b8bb81991fc64d..70f9961ced8ac4 100644 --- a/spec/features/projects/pipelines/pipelines_spec.rb +++ b/spec/features/projects/pipelines/pipelines_spec.rb @@ -120,7 +120,7 @@ it 'indicates that pipeline can be canceled' do expect(page).to have_selector('.js-pipelines-cancel-button') - expect(page).to have_selector('.ci-running') + expect(page).to have_selector('[data-testid="ci-badge-running"]') end context 'when canceling' do @@ -132,7 +132,7 @@ it 'indicated that pipelines was canceled', :sidekiq_might_not_need_inline do expect(page).not_to have_selector('.js-pipelines-cancel-button') - expect(page).to have_selector('.ci-canceled') + expect(page).to have_selector('[data-testid="ci-badge-canceled"]') end end end @@ -150,7 +150,7 @@ it 'indicates that pipeline can be retried' do expect(page).to have_selector('.js-pipelines-retry-button') - expect(page).to have_selector('.ci-failed') + expect(page).to have_selector('[data-testid="ci-badge-failed"]') end context 'when retrying' do @@ -161,7 +161,7 @@ it 'shows running pipeline that is not retryable' do expect(page).not_to have_selector('.js-pipelines-retry-button') - expect(page).to have_selector('.ci-running') + expect(page).to have_selector('[data-testid="ci-badge-running"]') end end end @@ -400,7 +400,7 @@ end it 'shows the pipeline as preparing' do - expect(page).to have_selector('.ci-preparing') + expect(page).to have_selector('[data-testid="ci-badge-preparing"]') end end @@ -421,7 +421,7 @@ end it 'has pipeline running' do - expect(page).to have_selector('.ci-running') + expect(page).to have_selector('[data-testid="ci-badge-running"]') end context 'when canceling' do @@ -432,7 +432,7 @@ it 'indicates that pipeline was canceled', :sidekiq_might_not_need_inline do expect(page).not_to have_selector('.js-pipelines-cancel-button') - expect(page).to have_selector('.ci-canceled') + expect(page).to have_selector('[data-testid="ci-badge-canceled"]') end end end @@ -454,7 +454,7 @@ end it 'has failed pipeline', :sidekiq_might_not_need_inline do - expect(page).to have_selector('.ci-failed') + expect(page).to have_selector('[data-testid="ci-badge-failed"]') end end end diff --git a/spec/frontend/commit/commit_pipeline_status_component_spec.js b/spec/frontend/commit/commit_pipeline_status_component_spec.js index ff003d177cdf25..e474ef9c635639 100644 --- a/spec/frontend/commit/commit_pipeline_status_component_spec.js +++ b/spec/frontend/commit/commit_pipeline_status_component_spec.js @@ -137,7 +137,7 @@ describe('Commit pipeline status component', () => { }); it('renders CI icon with the correct title and status', () => { - expect(findCiIcon().attributes('title')).toEqual('Pipeline: Passed'); + expect(findCiIcon().attributes('title')).toEqual('Pipeline: passed'); expect(findCiIcon().props('status')).toEqual(mockCiStatus); }); }); diff --git a/spec/frontend/vue_shared/components/ci_badge_link_spec.js b/spec/frontend/vue_shared/components/ci_badge_link_spec.js index 1415e7037fb751..8c860c9b06f6d0 100644 --- a/spec/frontend/vue_shared/components/ci_badge_link_spec.js +++ b/spec/frontend/vue_shared/components/ci_badge_link_spec.js @@ -103,6 +103,7 @@ describe('CI Badge Link Component', () => { expect(wrapper.attributes('href')).toBe(statuses[status].details_path); expect(wrapper.text()).toBe(statuses[status].text); + expect(findBadge().props('size')).toBe('md'); expect(findIcon().exists()).toBe(true); }); @@ -142,4 +143,10 @@ describe('CI Badge Link Component', () => { expect(wrapper.emitted('ciStatusBadgeClick')).toEqual([[]]); }); + + it('should render dynamic badge size', () => { + createComponent({ status: statuses.success, badgeSize: 'lg' }); + + expect(findBadge().props('size')).toBe('lg'); + }); }); diff --git a/spec/lib/gitlab/ci/status/build/factory_spec.rb b/spec/lib/gitlab/ci/status/build/factory_spec.rb index 21eca97331ec8c..f71f3d474523be 100644 --- a/spec/lib/gitlab/ci/status/build/factory_spec.rb +++ b/spec/lib/gitlab/ci/status/build/factory_spec.rb @@ -370,7 +370,7 @@ end it 'fabricates status with correct details' do - expect(status.text).to eq s_('CiStatusText|delayed') + expect(status.text).to eq s_('CiStatusText|scheduled') expect(status.group).to eq 'scheduled' expect(status.icon).to eq 'status_scheduled' expect(status.favicon).to eq 'favicon_status_scheduled' -- GitLab From 8d64ed23e1eac3883587bd7e0948f8e1327a459d Mon Sep 17 00:00:00 2001 From: Payton Burdette Date: Tue, 30 May 2023 15:11:05 -0400 Subject: [PATCH 3/4] Fix jobs spec --- spec/features/projects/jobs_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/features/projects/jobs_spec.rb b/spec/features/projects/jobs_spec.rb index 01f8f2166ac888..a16db71354c824 100644 --- a/spec/features/projects/jobs_spec.rb +++ b/spec/features/projects/jobs_spec.rb @@ -66,7 +66,7 @@ wait_for_requests - expect(page).to have_css('.ci-status.ci-success', text: 'passed') + expect(page).to have_css('[data-testid="ci-badge-passed"]', text: 'passed') end it 'shows commit`s data', :js do -- GitLab From ef50f4b810c2304849bfdb5663357c967bfd3857 Mon Sep 17 00:00:00 2001 From: Payton Burdette Date: Wed, 31 May 2023 09:53:07 -0400 Subject: [PATCH 4/4] Add feature categories --- .rubocop_todo/rspec/missing_feature_category.yml | 2 -- spec/lib/gitlab/ci/status/scheduled_spec.rb | 2 +- spec/lib/gitlab/ci/status/success_warning_spec.rb | 2 +- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.rubocop_todo/rspec/missing_feature_category.yml b/.rubocop_todo/rspec/missing_feature_category.yml index 36c4fc33345fff..c0d6955ae88eaa 100644 --- a/.rubocop_todo/rspec/missing_feature_category.yml +++ b/.rubocop_todo/rspec/missing_feature_category.yml @@ -3304,13 +3304,11 @@ RSpec/MissingFeatureCategory: - 'spec/lib/gitlab/ci/status/pipeline/factory_spec.rb' - 'spec/lib/gitlab/ci/status/preparing_spec.rb' - 'spec/lib/gitlab/ci/status/running_spec.rb' - - 'spec/lib/gitlab/ci/status/scheduled_spec.rb' - 'spec/lib/gitlab/ci/status/skipped_spec.rb' - 'spec/lib/gitlab/ci/status/stage/common_spec.rb' - 'spec/lib/gitlab/ci/status/stage/factory_spec.rb' - 'spec/lib/gitlab/ci/status/stage/play_manual_spec.rb' - 'spec/lib/gitlab/ci/status/success_spec.rb' - - 'spec/lib/gitlab/ci/status/success_warning_spec.rb' - 'spec/lib/gitlab/ci/status/waiting_for_resource_spec.rb' - 'spec/lib/gitlab/ci/tags/bulk_insert_spec.rb' - 'spec/lib/gitlab/ci/templates/AWS/deploy_ecs_gitlab_ci_yaml_spec.rb' diff --git a/spec/lib/gitlab/ci/status/scheduled_spec.rb b/spec/lib/gitlab/ci/status/scheduled_spec.rb index 59354b7fb4af3f..df72455d3c1ab6 100644 --- a/spec/lib/gitlab/ci/status/scheduled_spec.rb +++ b/spec/lib/gitlab/ci/status/scheduled_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Gitlab::Ci::Status::Scheduled do +RSpec.describe Gitlab::Ci::Status::Scheduled, feature_category: :continuous_integration do subject do described_class.new(double('subject'), double('user')) end diff --git a/spec/lib/gitlab/ci/status/success_warning_spec.rb b/spec/lib/gitlab/ci/status/success_warning_spec.rb index 55ac77c776550a..1725f90a0cffdb 100644 --- a/spec/lib/gitlab/ci/status/success_warning_spec.rb +++ b/spec/lib/gitlab/ci/status/success_warning_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' -RSpec.describe Gitlab::Ci::Status::SuccessWarning do +RSpec.describe Gitlab::Ci::Status::SuccessWarning, feature_category: :continuous_integration do let(:status) { double('status') } subject do -- GitLab