import { vi, describe, expect, it, beforeAll, beforeEach, afterEach } from 'vitest'; import { createWrapper, axios } from 'app/test/vitest/helper'; import ClaimLinesImport from 'pages/Claim/Card/ClaimLinesImport.vue'; describe('ClaimLinesImport', () => { let vm; beforeAll(() => { vm = createWrapper(ClaimLinesImport, { global: { stubs: ['FetchData'], mocks: { fetch: vi.fn(), }, } }).vm; }); afterEach(() => { vi.clearAllMocks(); }); describe('importLines()', () => { it('should make a POST request and then call to the quasar notify() method', async () => { vi.spyOn(axios, 'post').mockResolvedValue({ data: true }); vi.spyOn(vm.quasar, 'notify'); vm.selected = [ { id: 1, saleFk: 1, claimFk: 1, quantity: 10 } ] vm.route.params.id = 1 await vm.importLines(); const expectedData = [{ saleFk: 1, claimFk: 1, quantity: 10 }] expect(axios.post).toHaveBeenCalledWith('ClaimBeginnings', expectedData, { signal: expect.any(Object) }) expect(vm.quasar.notify).toHaveBeenCalledWith( expect.objectContaining({ message: 'Lines added to claim', type: 'positive' }) ); expect(vm.canceller).toEqual(null) }); }); });