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
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/vue_shared/components/gitlab_version_check_spec.js')
-rw-r--r--spec/frontend/vue_shared/components/gitlab_version_check_spec.js135
1 files changed, 0 insertions, 135 deletions
diff --git a/spec/frontend/vue_shared/components/gitlab_version_check_spec.js b/spec/frontend/vue_shared/components/gitlab_version_check_spec.js
deleted file mode 100644
index 38f28837cc1..00000000000
--- a/spec/frontend/vue_shared/components/gitlab_version_check_spec.js
+++ /dev/null
@@ -1,135 +0,0 @@
-import { GlBadge } from '@gitlab/ui';
-import MockAdapter from 'axios-mock-adapter';
-import { shallowMountExtended } from 'helpers/vue_test_utils_helper';
-import waitForPromises from 'helpers/wait_for_promises';
-import { mockTracking } from 'helpers/tracking_helper';
-import { helpPagePath } from '~/helpers/help_page_helper';
-import axios from '~/lib/utils/axios_utils';
-import GitlabVersionCheck from '~/vue_shared/components/gitlab_version_check.vue';
-
-describe('GitlabVersionCheck', () => {
- let wrapper;
- let mock;
-
- const UPGRADE_DOCS_URL = helpPagePath('update/index');
-
- const defaultResponse = {
- code: 200,
- res: { severity: 'success' },
- };
-
- const createComponent = (mockResponse) => {
- const response = {
- ...defaultResponse,
- ...mockResponse,
- };
-
- mock = new MockAdapter(axios);
- mock.onGet().replyOnce(response.code, response.res);
-
- wrapper = shallowMountExtended(GitlabVersionCheck);
- };
-
- const dummyGon = {
- relative_url_root: '/',
- };
-
- let originalGon;
-
- afterEach(() => {
- wrapper.destroy();
- mock.restore();
- window.gon = originalGon;
- });
-
- const findGlBadgeClickWrapper = () => wrapper.findByTestId('badge-click-wrapper');
- const findGlBadge = () => wrapper.findComponent(GlBadge);
-
- describe.each`
- root | description
- ${'/'} | ${'not used (uses its own (sub)domain)'}
- ${'/gitlab'} | ${'custom path'}
- ${'/service/gitlab'} | ${'custom path with 2 depth'}
- `('path for version_check.json', ({ root, description }) => {
- describe(`when relative url is ${description}: ${root}`, () => {
- beforeEach(async () => {
- originalGon = window.gon;
- window.gon = { ...dummyGon };
- window.gon.relative_url_root = root;
- createComponent(defaultResponse);
- await waitForPromises(); // Ensure we wrap up the axios call
- });
-
- it('reflects the relative url setting', () => {
- expect(mock.history.get.length).toBe(1);
-
- const pathRegex = new RegExp(`^${root}`);
- expect(mock.history.get[0].url).toMatch(pathRegex);
- });
- });
- });
-
- describe('template', () => {
- describe.each`
- description | mockResponse | renders
- ${'successful but null'} | ${{ code: 200, res: null }} | ${false}
- ${'successful and valid'} | ${{ code: 200, res: { severity: 'success' } }} | ${true}
- ${'an error'} | ${{ code: 500, res: null }} | ${false}
- `('version_check.json response', ({ description, mockResponse, renders }) => {
- describe(`is ${description}`, () => {
- beforeEach(async () => {
- createComponent(mockResponse);
- await waitForPromises(); // Ensure we wrap up the axios call
- });
-
- it(`does${renders ? '' : ' not'} render Badge Click Wrapper and GlBadge`, () => {
- expect(findGlBadgeClickWrapper().exists()).toBe(renders);
- expect(findGlBadge().exists()).toBe(renders);
- });
- });
- });
-
- describe.each`
- mockResponse | expectedUI
- ${{ code: 200, res: { severity: 'success' } }} | ${{ title: 'Up to date', variant: 'success' }}
- ${{ code: 200, res: { severity: 'warning' } }} | ${{ title: 'Update available', variant: 'warning' }}
- ${{ code: 200, res: { severity: 'danger' } }} | ${{ title: 'Update ASAP', variant: 'danger' }}
- `('badge ui', ({ mockResponse, expectedUI }) => {
- describe(`when response is ${mockResponse.res.severity}`, () => {
- let trackingSpy;
-
- beforeEach(async () => {
- createComponent(mockResponse);
- trackingSpy = mockTracking(undefined, wrapper.element, jest.spyOn);
- await waitForPromises(); // Ensure we wrap up the axios call
- });
-
- it(`title is ${expectedUI.title}`, () => {
- expect(findGlBadge().text()).toBe(expectedUI.title);
- });
-
- it(`variant is ${expectedUI.variant}`, () => {
- expect(findGlBadge().attributes('variant')).toBe(expectedUI.variant);
- });
-
- it(`tracks rendered_version_badge with label ${expectedUI.title}`, () => {
- expect(trackingSpy).toHaveBeenCalledWith(undefined, 'rendered_version_badge', {
- label: expectedUI.title,
- });
- });
-
- it(`link is ${UPGRADE_DOCS_URL}`, () => {
- expect(findGlBadge().attributes('href')).toBe(UPGRADE_DOCS_URL);
- });
-
- it(`tracks click_version_badge with label ${expectedUI.title} when badge is clicked`, async () => {
- await findGlBadgeClickWrapper().trigger('click');
-
- expect(trackingSpy).toHaveBeenCalledWith(undefined, 'click_version_badge', {
- label: expectedUI.title,
- });
- });
- });
- });
- });
-});