Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-08-04 06:07:09 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-08-04 06:07:09 +0300
commitf830a15de6991a6768990aab9a4457b06718d29e (patch)
treee1e1280ed187ba7c53d609e78d0654cf7b0cb984 /spec
parent65b1882ddddca5f86397f60dfbd28deb94ec7249 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec')
-rw-r--r--spec/frontend/jobs/components/job/artifacts_block_spec.js36
-rw-r--r--spec/support/shared_examples/requests/graphql_shared_examples.rb10
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