91 lines
2.9 KiB
JavaScript
91 lines
2.9 KiB
JavaScript
import { describe, it, expect, beforeEach } from 'vitest';
|
|
import { setActivePinia, createPinia } from 'pinia';
|
|
import { usePageAdminStore } from '@/stores/pageAdmin';
|
|
|
|
describe('pageAdminStore', () => {
|
|
let store;
|
|
|
|
beforeEach(() => {
|
|
setActivePinia(createPinia());
|
|
store = usePageAdminStore();
|
|
});
|
|
|
|
it('has correct default state', () => {
|
|
expect(store.activePage).toBe('MAP');
|
|
expect(store.previousPage).toBe('MAP');
|
|
expect(store.pendingActivePage).toBe('FILES');
|
|
expect(store.isPagePending).toBe(false);
|
|
expect(store.shouldKeepPreviousPage).toBe(false);
|
|
expect(store.currentMapFile).toBe('');
|
|
});
|
|
|
|
it('setActivePage converts page name', () => {
|
|
store.setActivePage('CheckConformance');
|
|
expect(store.activePage).toBe('CONFORMANCE');
|
|
});
|
|
|
|
it('setPreviousPage converts page name', () => {
|
|
store.setPreviousPage('CheckPerformance');
|
|
expect(store.previousPage).toBe('PERFORMANCE');
|
|
});
|
|
|
|
it('setPreviousPageUsingActivePage copies activePage to previousPage', () => {
|
|
store.setActivePage('CONFORMANCE');
|
|
store.setPreviousPageUsingActivePage();
|
|
expect(store.previousPage).toBe('CONFORMANCE');
|
|
});
|
|
|
|
it('setIsPagePendingBoolean sets boolean', () => {
|
|
store.setIsPagePendingBoolean(true);
|
|
expect(store.isPagePending).toBe(true);
|
|
});
|
|
|
|
it('setPendingActivePage converts and sets page', () => {
|
|
store.setPendingActivePage('CheckMap');
|
|
expect(store.pendingActivePage).toBe('MAP');
|
|
});
|
|
|
|
it('copyPendingPageToActivePage transfers value', () => {
|
|
store.setPendingActivePage('CheckConformance');
|
|
store.copyPendingPageToActivePage();
|
|
expect(store.activePage).toBe('CONFORMANCE');
|
|
});
|
|
|
|
it('clearPendingActivePage resets to empty', () => {
|
|
store.setPendingActivePage('CheckMap');
|
|
store.clearPendingActivePage();
|
|
expect(store.pendingActivePage).toBe('');
|
|
});
|
|
|
|
it('keepPreviousPage restores previous page', () => {
|
|
store.setPreviousPage('CONFORMANCE');
|
|
store.setActivePage('PERFORMANCE');
|
|
store.keepPreviousPage();
|
|
expect(store.activePage).toBe('CONFORMANCE');
|
|
expect(store.shouldKeepPreviousPage).toBe(true);
|
|
});
|
|
|
|
it('clearShouldKeepPreviousPageBoolean resets flag', () => {
|
|
store.keepPreviousPage();
|
|
store.clearShouldKeepPreviousPageBoolean();
|
|
expect(store.shouldKeepPreviousPage).toBe(false);
|
|
});
|
|
|
|
it('setCurrentMapFile sets file name', () => {
|
|
store.setCurrentMapFile('test.csv');
|
|
expect(store.currentMapFile).toBe('test.csv');
|
|
});
|
|
|
|
it('setActivePageComputedByRoute extracts route name', () => {
|
|
const routeMatched = [{ name: 'CheckMap' }];
|
|
store.setActivePageComputedByRoute(routeMatched);
|
|
expect(store.activePageComputedByRoute).toBe('MAP');
|
|
});
|
|
|
|
it('setActivePageComputedByRoute handles empty array', () => {
|
|
store.setActivePageComputedByRoute([]);
|
|
// Should not change default value
|
|
expect(store.activePageComputedByRoute).toBe('MAP');
|
|
});
|
|
});
|