diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-08-04 06:07:09 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-08-04 06:07:09 +0300 |
commit | f830a15de6991a6768990aab9a4457b06718d29e (patch) | |
tree | e1e1280ed187ba7c53d609e78d0654cf7b0cb984 /spec | |
parent | 65b1882ddddca5f86397f60dfbd28deb94ec7249 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec')
-rw-r--r-- | spec/frontend/jobs/components/job/artifacts_block_spec.js | 36 | ||||
-rw-r--r-- | spec/support/shared_examples/requests/graphql_shared_examples.rb | 10 |
2 files changed, 39 insertions, 7 deletions
diff --git a/spec/frontend/jobs/components/job/artifacts_block_spec.js b/spec/frontend/jobs/components/job/artifacts_block_spec.js index ea5d727bd08..f9e52a5ae43 100644 --- a/spec/frontend/jobs/components/job/artifacts_block_spec.js +++ b/spec/frontend/jobs/components/job/artifacts_block_spec.js @@ -1,4 +1,5 @@ -import { mount } from '@vue/test-utils'; +import { GlPopover } from '@gitlab/ui'; +import { mountExtended } from 'helpers/vue_test_utils_helper'; import { trimText } from 'helpers/text_helper'; import ArtifactsBlock from '~/jobs/components/job/sidebar/artifacts_block.vue'; import { getTimeago } from '~/lib/utils/datetime_utility'; @@ -7,18 +8,20 @@ describe('Artifacts block', () => { let wrapper; const createWrapper = (propsData) => - mount(ArtifactsBlock, { + mountExtended(ArtifactsBlock, { propsData: { helpUrl: 'help-url', ...propsData, }, }); - const findArtifactRemoveElt = () => wrapper.find('[data-testid="artifacts-remove-timeline"]'); - const findJobLockedElt = () => wrapper.find('[data-testid="job-locked-message"]'); - const findKeepBtn = () => wrapper.find('[data-testid="keep-artifacts"]'); - const findDownloadBtn = () => wrapper.find('[data-testid="download-artifacts"]'); - const findBrowseBtn = () => wrapper.find('[data-testid="browse-artifacts"]'); + const findArtifactRemoveElt = () => wrapper.findByTestId('artifacts-remove-timeline'); + const findJobLockedElt = () => wrapper.findByTestId('job-locked-message'); + const findKeepBtn = () => wrapper.findByTestId('keep-artifacts'); + const findDownloadBtn = () => wrapper.findByTestId('download-artifacts'); + const findBrowseBtn = () => wrapper.findByTestId('browse-artifacts'); + const findArtifactsHelpLink = () => wrapper.findByTestId('artifacts-help-link'); + const findPopover = () => wrapper.findComponent(GlPopover); const expireAt = '2018-08-14T09:38:49.157Z'; const timeago = getTimeago(); @@ -168,4 +171,23 @@ describe('Artifacts block', () => { expect(findBrowseBtn().exists()).toBe(true); }); }); + + describe('artifacts help text', () => { + beforeEach(() => { + wrapper = createWrapper({ + artifact: lockedNonExpiredArtifact, + }); + }); + + it('displays help text', () => { + const expectedHelpText = + 'Job artifacts are files that are configured to be uploaded when a job finishes execution. Artifacts could be compiled files, unit tests or scanning reports, or any other files generated by a job.'; + + expect(findPopover().text()).toBe(expectedHelpText); + }); + + it('links to artifacts help page', () => { + expect(findArtifactsHelpLink().attributes('href')).toBe('/help/ci/jobs/job_artifacts'); + }); + }); }); diff --git a/spec/support/shared_examples/requests/graphql_shared_examples.rb b/spec/support/shared_examples/requests/graphql_shared_examples.rb index 270c069a62f..69933bafbea 100644 --- a/spec/support/shared_examples/requests/graphql_shared_examples.rb +++ b/spec/support/shared_examples/requests/graphql_shared_examples.rb @@ -10,6 +10,16 @@ RSpec.shared_examples 'a working graphql query' do end end +RSpec.shared_examples 'a working graphql query that returns no data' do + include GraphqlHelpers + + it_behaves_like 'a working graphql query' + + it 'contains no data' do + expect(graphql_data.compact).to be_empty + end +end + RSpec.shared_examples 'a working graphql query that returns data' do include GraphqlHelpers |