32 lines
1.1 KiB
JavaScript
32 lines
1.1 KiB
JavaScript
import { describe, expect, it, beforeAll } from 'vitest';
|
|
import { axios } from 'app/test/vitest/helper';
|
|
import { useArrayData } from 'composables/useArrayData';
|
|
|
|
describe('useArrayData', () => {
|
|
let arrayData;
|
|
beforeAll(() => {
|
|
axios.get.mockResolvedValue({ data: [] });
|
|
arrayData = useArrayData('InvoiceIn', { url: 'invoice-in/list' });
|
|
Object.defineProperty(window.location, 'href', {
|
|
writable: true,
|
|
value: 'localhost:9000/invoice-in/list',
|
|
});
|
|
|
|
// Mock the window.history.pushState method within useArrayData
|
|
window.history.pushState = (data, title, url) => (window.location.href = url);
|
|
|
|
// Mock the URL constructor within useArrayData
|
|
global.URL = class URL {
|
|
constructor(url) {
|
|
this.hash = url.split('localhost:9000/')[1];
|
|
}
|
|
};
|
|
});
|
|
|
|
it('should add the params to the url', async () => {
|
|
arrayData.store.userParams = { supplierFk: 2 };
|
|
arrayData.updateStateParams();
|
|
expect(window.location.href).contain('params=%7B%22supplierFk%22%3A2%7D');
|
|
});
|
|
});
|