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

gitlab.com/gitlab-org/gitlab-docs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorSarah German <sgerman@gitlab.com>2022-10-12 20:12:41 +0300
committerAchilleas Pipinellis <axil@gitlab.com>2022-10-12 20:12:41 +0300
commita409705ba7cd4077383ef8bb35cc1cd55b236deb (patch)
tree6124d9ae26a4b92d27d5217c295f4b7a3a50189e /spec
parent39551dd7e9886f728bbb1ab850573de38dd032e7 (diff)
Refactor Archives page to use versions.json
Diffstat (limited to 'spec')
-rw-r--r--spec/frontend/__mocks__/versions_mock.js19
-rw-r--r--spec/frontend/default/components/archives_page_spec.js38
-rw-r--r--spec/frontend/default/components/versions_menu_spec.js7
3 files changed, 58 insertions, 6 deletions
diff --git a/spec/frontend/__mocks__/versions_mock.js b/spec/frontend/__mocks__/versions_mock.js
new file mode 100644
index 00000000..f62b00c9
--- /dev/null
+++ b/spec/frontend/__mocks__/versions_mock.js
@@ -0,0 +1,19 @@
+export const mockVersions = {
+ next: '15.3',
+ current: '15.2',
+ last_minor: ['15.1', '15.0'],
+ last_major: ['14.10', '13.12'],
+};
+
+export const mockArchiveImages = [
+ {
+ name: '14.9',
+ path: 'gitlab-org/gitlab-docs:14.9',
+ location: 'registry.gitlab.com/gitlab-org/gitlab-docs:14.9',
+ },
+ {
+ name: '14.8',
+ path: 'gitlab-org/gitlab-docs:14.8',
+ location: 'registry.gitlab.com/gitlab-org/gitlab-docs:14.8',
+ },
+];
diff --git a/spec/frontend/default/components/archives_page_spec.js b/spec/frontend/default/components/archives_page_spec.js
new file mode 100644
index 00000000..553ef7ba
--- /dev/null
+++ b/spec/frontend/default/components/archives_page_spec.js
@@ -0,0 +1,38 @@
+/**
+ * @jest-environment jsdom
+ */
+
+import { shallowMount } from '@vue/test-utils';
+import ArchivesPage from '../../../../content/frontend/default/components/archives_page.vue';
+import { getVersions } from '../../../../content/frontend/services/fetch_versions';
+import { getArchiveImages } from '../../../../content/frontend/services/fetch_archive_images';
+import { mockVersions, mockArchiveImages } from '../../__mocks__/versions_mock';
+
+jest.mock('../../../../content/frontend/services/fetch_versions');
+jest.mock('../../../../content/frontend/services/fetch_archive_images');
+
+beforeEach(() => {
+ jest.clearAllMocks();
+ getVersions.mockResolvedValueOnce(mockVersions);
+ getArchiveImages.mockResolvedValueOnce(mockArchiveImages);
+});
+
+describe('content/frontend/default/components/archives_page.vue', () => {
+ it('Shows correct online versions', async () => {
+ const wrapper = shallowMount(ArchivesPage);
+ await wrapper.setData({
+ onlineVersions: [...mockVersions.last_minor, ...mockVersions.last_major],
+ });
+
+ expect(wrapper.find('[data-testid="online-version-15.1"]').exists()).toBe(true);
+ expect(wrapper.find('[data-testid="online-version-15.3"]').exists()).toBe(false);
+ });
+
+ it('Shows correct offline versions', async () => {
+ const wrapper = shallowMount(ArchivesPage);
+ await wrapper.setData({ offlineVersions: mockArchiveImages });
+
+ expect(wrapper.find('[data-testid="offline-version-14.9"]').exists()).toBe(true);
+ expect(wrapper.find('[data-testid="online-version-15.3"]').exists()).toBe(false);
+ });
+});
diff --git a/spec/frontend/default/components/versions_menu_spec.js b/spec/frontend/default/components/versions_menu_spec.js
index 01bb43e2..035c59fc 100644
--- a/spec/frontend/default/components/versions_menu_spec.js
+++ b/spec/frontend/default/components/versions_menu_spec.js
@@ -6,15 +6,10 @@ import { mount } from '@vue/test-utils';
import flushPromises from 'flush-promises';
import VersionsMenu from '../../../../content/frontend/default/components/versions_menu.vue';
import { getVersions } from '../../../../content/frontend/services/fetch_versions';
+import { mockVersions } from '../../__mocks__/versions_mock';
import { setWindowPath } from './helpers/versions_menu_helper';
jest.mock('../../../../content/frontend/services/fetch_versions');
-const mockVersions = {
- next: '15.3',
- current: '15.2',
- last_minor: ['15.1', '15.0'],
- last_major: ['14.10', '13.12'],
-};
beforeEach(() => {
jest.clearAllMocks();