diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-12-03 00:10:16 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-12-03 00:10:16 +0300 |
commit | 515f39456fce82eb2ab811fa366167ad084a3b12 (patch) | |
tree | eae2c8deccede9fc025f7eba1b8a3a745dcb7f8f /spec/frontend/jobs | |
parent | d1ade10ba69cb7c232daa36625656456c32462e4 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend/jobs')
-rw-r--r-- | spec/frontend/jobs/components/table/cells/actions_cell_spec.js | 20 | ||||
-rw-r--r-- | spec/frontend/jobs/mock_data.js | 37 |
2 files changed, 53 insertions, 4 deletions
diff --git a/spec/frontend/jobs/components/table/cells/actions_cell_spec.js b/spec/frontend/jobs/components/table/cells/actions_cell_spec.js index 1b1e2d4df8f..b70fca8e9e6 100644 --- a/spec/frontend/jobs/components/table/cells/actions_cell_spec.js +++ b/spec/frontend/jobs/components/table/cells/actions_cell_spec.js @@ -5,7 +5,14 @@ import ActionsCell from '~/jobs/components/table/cells/actions_cell.vue'; import JobPlayMutation from '~/jobs/components/table/graphql/mutations/job_play.mutation.graphql'; import JobRetryMutation from '~/jobs/components/table/graphql/mutations/job_retry.mutation.graphql'; import JobUnscheduleMutation from '~/jobs/components/table/graphql/mutations/job_unschedule.mutation.graphql'; -import { playableJob, retryableJob, scheduledJob } from '../../../mock_data'; +import { + playableJob, + retryableJob, + scheduledJob, + cannotRetryJob, + cannotPlayJob, + cannotPlayScheduledJob, +} from '../../../mock_data'; describe('Job actions cell', () => { let wrapper; @@ -58,6 +65,17 @@ describe('Job actions cell', () => { }); it.each` + button | action | jobType + ${findPlayButton} | ${'play'} | ${cannotPlayJob} + ${findRetryButton} | ${'retry'} | ${cannotRetryJob} + ${findPlayScheduledJobButton} | ${'play scheduled'} | ${cannotPlayScheduledJob} + `('does not display the $action button if user cannot update build', ({ button, jobType }) => { + createComponent(jobType); + + expect(button().exists()).toBe(false); + }); + + it.each` button | action | jobType ${findPlayButton} | ${'play'} | ${playableJob} ${findRetryButton} | ${'retry'} | ${retryableJob} diff --git a/spec/frontend/jobs/mock_data.js b/spec/frontend/jobs/mock_data.js index 5654c8e424e..86be739751b 100644 --- a/spec/frontend/jobs/mock_data.js +++ b/spec/frontend/jobs/mock_data.js @@ -1563,6 +1563,7 @@ export const mockJobsQueryResponse = { userPermissions: { readBuild: true, readJobArtifacts: true, + updateBuild: true, __typename: 'JobPermissions', }, __typename: 'CiJob', @@ -1636,10 +1637,15 @@ export const retryableJob = { cancelable: false, active: false, stuck: false, - userPermissions: { readBuild: true, __typename: 'JobPermissions' }, + userPermissions: { readBuild: true, updateBuild: true, __typename: 'JobPermissions' }, __typename: 'CiJob', }; +export const cannotRetryJob = { + ...retryableJob, + userPermissions: { readBuild: true, updateBuild: false, __typename: 'JobPermissions' }, +}; + export const playableJob = { artifacts: { nodes: [ @@ -1700,10 +1706,25 @@ export const playableJob = { cancelable: false, active: false, stuck: false, - userPermissions: { readBuild: true, readJobArtifacts: true, __typename: 'JobPermissions' }, + userPermissions: { + readBuild: true, + readJobArtifacts: true, + updateBuild: true, + __typename: 'JobPermissions', + }, __typename: 'CiJob', }; +export const cannotPlayJob = { + ...playableJob, + userPermissions: { + readBuild: true, + readJobArtifacts: true, + updateBuild: false, + __typename: 'JobPermissions', + }, +}; + export const scheduledJob = { artifacts: { nodes: [], __typename: 'CiJobArtifactConnection' }, allowFailure: false, @@ -1756,6 +1777,16 @@ export const scheduledJob = { cancelable: false, active: false, stuck: false, - userPermissions: { readBuild: true, __typename: 'JobPermissions' }, + userPermissions: { readBuild: true, updateBuild: true, __typename: 'JobPermissions' }, __typename: 'CiJob', }; + +export const cannotPlayScheduledJob = { + ...scheduledJob, + userPermissions: { + readBuild: true, + readJobArtifacts: true, + updateBuild: false, + __typename: 'JobPermissions', + }, +}; |