diff options
Diffstat (limited to 'spec/frontend/ci/pipeline_schedules/components')
9 files changed, 22 insertions, 45 deletions
diff --git a/spec/frontend/ci/pipeline_schedules/components/delete_pipeline_schedule_modal_spec.js b/spec/frontend/ci/pipeline_schedules/components/delete_pipeline_schedule_modal_spec.js index ba948f12b33..c45267e5a47 100644 --- a/spec/frontend/ci/pipeline_schedules/components/delete_pipeline_schedule_modal_spec.js +++ b/spec/frontend/ci/pipeline_schedules/components/delete_pipeline_schedule_modal_spec.js @@ -20,10 +20,6 @@ describe('Delete pipeline schedule modal', () => { createComponent(); }); - afterEach(() => { - wrapper.destroy(); - }); - it('emits the deleteSchedule event', async () => { findModal().vm.$emit('primary'); diff --git a/spec/frontend/ci/pipeline_schedules/components/pipeline_schedules_spec.js b/spec/frontend/ci/pipeline_schedules/components/pipeline_schedules_spec.js index 611993556e3..50008cedd9c 100644 --- a/spec/frontend/ci/pipeline_schedules/components/pipeline_schedules_spec.js +++ b/spec/frontend/ci/pipeline_schedules/components/pipeline_schedules_spec.js @@ -16,6 +16,7 @@ import getPipelineSchedulesQuery from '~/ci/pipeline_schedules/graphql/queries/g import { mockGetPipelineSchedulesGraphQLResponse, mockPipelineScheduleNodes, + mockPipelineScheduleCurrentUser, deleteMutationResponse, playMutationResponse, takeOwnershipMutationResponse, @@ -79,10 +80,6 @@ describe('Pipeline schedules app', () => { const findSchedulesCharacteristics = () => wrapper.findByTestId('pipeline-schedules-characteristics'); - afterEach(() => { - wrapper.destroy(); - }); - describe('default', () => { beforeEach(() => { createComponent(); @@ -115,6 +112,7 @@ describe('Pipeline schedules app', () => { await waitForPromises(); expect(findTable().props('schedules')).toEqual(mockPipelineScheduleNodes); + expect(findTable().props('currentUser')).toEqual(mockPipelineScheduleCurrentUser); }); it('shows query error alert', async () => { diff --git a/spec/frontend/ci/pipeline_schedules/components/table/cells/pipeline_schedule_actions_spec.js b/spec/frontend/ci/pipeline_schedules/components/table/cells/pipeline_schedule_actions_spec.js index 6fb6a8bc33b..be0052fc7cf 100644 --- a/spec/frontend/ci/pipeline_schedules/components/table/cells/pipeline_schedule_actions_spec.js +++ b/spec/frontend/ci/pipeline_schedules/components/table/cells/pipeline_schedule_actions_spec.js @@ -3,6 +3,7 @@ import { shallowMountExtended } from 'helpers/vue_test_utils_helper'; import PipelineScheduleActions from '~/ci/pipeline_schedules/components/table/cells/pipeline_schedule_actions.vue'; import { mockPipelineScheduleNodes, + mockPipelineScheduleCurrentUser, mockPipelineScheduleAsGuestNodes, mockTakeOwnershipNodes, } from '../../../mock_data'; @@ -12,6 +13,7 @@ describe('Pipeline schedule actions', () => { const defaultProps = { schedule: mockPipelineScheduleNodes[0], + currentUser: mockPipelineScheduleCurrentUser, }; const createComponent = (props = defaultProps) => { @@ -27,18 +29,17 @@ describe('Pipeline schedule actions', () => { const findTakeOwnershipBtn = () => wrapper.findByTestId('take-ownership-pipeline-schedule-btn'); const findPlayScheduleBtn = () => wrapper.findByTestId('play-pipeline-schedule-btn'); - afterEach(() => { - wrapper.destroy(); - }); - - it('displays action buttons', () => { + it('displays buttons when user is the owner of schedule and has adminPipelineSchedule permissions', () => { createComponent(); expect(findAllButtons()).toHaveLength(3); }); - it('does not display action buttons', () => { - createComponent({ schedule: mockPipelineScheduleAsGuestNodes[0] }); + it('does not display action buttons when user is not owner and does not have adminPipelineSchedule permission', () => { + createComponent({ + schedule: mockPipelineScheduleAsGuestNodes[0], + currentUser: mockPipelineScheduleCurrentUser, + }); expect(findAllButtons()).toHaveLength(0); }); @@ -54,7 +55,10 @@ describe('Pipeline schedule actions', () => { }); it('take ownership button emits showTakeOwnershipModal event and schedule id', () => { - createComponent({ schedule: mockTakeOwnershipNodes[0] }); + createComponent({ + schedule: mockTakeOwnershipNodes[0], + currentUser: mockPipelineScheduleCurrentUser, + }); findTakeOwnershipBtn().vm.$emit('click'); diff --git a/spec/frontend/ci/pipeline_schedules/components/table/cells/pipeline_schedule_last_pipeline_spec.js b/spec/frontend/ci/pipeline_schedules/components/table/cells/pipeline_schedule_last_pipeline_spec.js index 0821c59c8a0..ae069145292 100644 --- a/spec/frontend/ci/pipeline_schedules/components/table/cells/pipeline_schedule_last_pipeline_spec.js +++ b/spec/frontend/ci/pipeline_schedules/components/table/cells/pipeline_schedule_last_pipeline_spec.js @@ -21,10 +21,6 @@ describe('Pipeline schedule last pipeline', () => { const findCIBadgeLink = () => wrapper.findComponent(CiBadgeLink); const findStatusText = () => wrapper.findByTestId('pipeline-schedule-status-text'); - afterEach(() => { - wrapper.destroy(); - }); - it('displays pipeline status', () => { createComponent(); diff --git a/spec/frontend/ci/pipeline_schedules/components/table/cells/pipeline_schedule_next_run_spec.js b/spec/frontend/ci/pipeline_schedules/components/table/cells/pipeline_schedule_next_run_spec.js index 1c06c411097..3bdbb371ddc 100644 --- a/spec/frontend/ci/pipeline_schedules/components/table/cells/pipeline_schedule_next_run_spec.js +++ b/spec/frontend/ci/pipeline_schedules/components/table/cells/pipeline_schedule_next_run_spec.js @@ -21,10 +21,6 @@ describe('Pipeline schedule next run', () => { const findTimeAgo = () => wrapper.findComponent(TimeAgoTooltip); const findInactive = () => wrapper.findByTestId('pipeline-schedule-inactive'); - afterEach(() => { - wrapper.destroy(); - }); - it('displays time ago', () => { createComponent(); diff --git a/spec/frontend/ci/pipeline_schedules/components/table/cells/pipeline_schedule_owner_spec.js b/spec/frontend/ci/pipeline_schedules/components/table/cells/pipeline_schedule_owner_spec.js index 6c1991cb4ac..849bef80f42 100644 --- a/spec/frontend/ci/pipeline_schedules/components/table/cells/pipeline_schedule_owner_spec.js +++ b/spec/frontend/ci/pipeline_schedules/components/table/cells/pipeline_schedule_owner_spec.js @@ -25,10 +25,6 @@ describe('Pipeline schedule owner', () => { createComponent(); }); - afterEach(() => { - wrapper.destroy(); - }); - it('displays avatar', () => { expect(findAvatar().exists()).toBe(true); expect(findAvatar().props('src')).toBe(defaultProps.schedule.owner.avatarUrl); diff --git a/spec/frontend/ci/pipeline_schedules/components/table/cells/pipeline_schedule_target_spec.js b/spec/frontend/ci/pipeline_schedules/components/table/cells/pipeline_schedule_target_spec.js index f531f04a736..5cc3829efbd 100644 --- a/spec/frontend/ci/pipeline_schedules/components/table/cells/pipeline_schedule_target_spec.js +++ b/spec/frontend/ci/pipeline_schedules/components/table/cells/pipeline_schedule_target_spec.js @@ -25,10 +25,6 @@ describe('Pipeline schedule target', () => { createComponent(); }); - afterEach(() => { - wrapper.destroy(); - }); - it('displays icon', () => { expect(findIcon().exists()).toBe(true); expect(findIcon().props('name')).toBe('fork'); diff --git a/spec/frontend/ci/pipeline_schedules/components/table/pipeline_schedules_table_spec.js b/spec/frontend/ci/pipeline_schedules/components/table/pipeline_schedules_table_spec.js index 316b3bcf926..e488a36f3dc 100644 --- a/spec/frontend/ci/pipeline_schedules/components/table/pipeline_schedules_table_spec.js +++ b/spec/frontend/ci/pipeline_schedules/components/table/pipeline_schedules_table_spec.js @@ -1,13 +1,14 @@ import { GlTableLite } from '@gitlab/ui'; import { mountExtended } from 'helpers/vue_test_utils_helper'; import PipelineSchedulesTable from '~/ci/pipeline_schedules/components/table/pipeline_schedules_table.vue'; -import { mockPipelineScheduleNodes } from '../../mock_data'; +import { mockPipelineScheduleNodes, mockPipelineScheduleCurrentUser } from '../../mock_data'; describe('Pipeline schedules table', () => { let wrapper; const defaultProps = { schedules: mockPipelineScheduleNodes, + currentUser: mockPipelineScheduleCurrentUser, }; const createComponent = (props = defaultProps) => { @@ -25,10 +26,6 @@ describe('Pipeline schedules table', () => { createComponent(); }); - afterEach(() => { - wrapper.destroy(); - }); - it('displays table', () => { expect(findTable().exists()).toBe(true); }); diff --git a/spec/frontend/ci/pipeline_schedules/components/take_ownership_modal_legacy_spec.js b/spec/frontend/ci/pipeline_schedules/components/take_ownership_modal_legacy_spec.js index 7e6d4ec4bf8..e4ff9a0545b 100644 --- a/spec/frontend/ci/pipeline_schedules/components/take_ownership_modal_legacy_spec.js +++ b/spec/frontend/ci/pipeline_schedules/components/take_ownership_modal_legacy_spec.js @@ -25,14 +25,12 @@ describe('Take ownership modal', () => { const actionPrimary = findModal().props('actionPrimary'); expect(actionPrimary.attributes).toEqual( - expect.objectContaining([ - { - category: 'primary', - variant: 'confirm', - href: url, - 'data-method': 'post', - }, - ]), + expect.objectContaining({ + category: 'primary', + variant: 'confirm', + href: url, + 'data-method': 'post', + }), ); }); |