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'); }); });