spec/frontend/default/components/archives_page_spec.js (30 lines of code) (raw):
/**
* @jest-environment jsdom
*/
import { shallowMount } from '@vue/test-utils';
import ArchivesPage from '../../../../content/frontend/archives/archives_page.vue';
import {
getVersions,
getArchiveImages,
} from '../../../../content/frontend/services/fetch_versions';
import { mockVersions, mockArchiveImages } from '../../__mocks__/versions_mock';
jest.mock('../../../../content/frontend/services/fetch_versions');
beforeEach(() => {
jest.clearAllMocks();
getVersions.mockResolvedValueOnce(mockVersions);
getArchiveImages.mockResolvedValueOnce(mockArchiveImages);
});
describe('content/frontend/default/components/archives_page.vue', () => {
it('Shows correct latest stable', async () => {
const wrapper = shallowMount(ArchivesPage);
await wrapper.setData({
versions: mockVersions,
});
expect(wrapper.find('[data-testid="current-stable-15.2"]').exists()).toBe(true);
expect(wrapper.find('[data-testid="current-stable-15.3"]').exists()).toBe(false);
});
it('Shows correct offline versions', async () => {
const wrapper = shallowMount(ArchivesPage);
await wrapper.setData({ archiveImages: mockArchiveImages });
expect(wrapper.find('[data-testid="offline-version-14.9"]').exists()).toBe(true);
expect(wrapper.find('[data-testid="offline-version-14.8"]').exists()).toBe(true);
expect(wrapper.find('[data-testid="offline-version-15.3"]').exists()).toBe(false);
});
});