import { vi, describe, expect, it, beforeAll, afterEach } from 'vitest'; import { createWrapper, axios } from 'app/test/vitest/helper'; import CustomerPayments from 'src/pages/Customer/Payments/CustomerPayments.vue'; describe('CustomerPayments', () => { let vm; beforeAll(() => { vm = createWrapper(CustomerPayments, { global: { stubs: ['VnPaginate'], mocks: { fetch: vi.fn(), }, }, }).vm; }); afterEach(() => { vi.clearAllMocks(); }); describe('confirmTransaction()', () => { it('should make a POST request and then call to quasar notify method', async () => { vi.spyOn(axios, 'post').mockResolvedValue({ data: true }); vi.spyOn(vm.quasar, 'notify'); await vm.confirmTransaction({ id: 1 }); expect(vm.quasar.notify).toHaveBeenCalledWith( expect.objectContaining({ message: 'Payment confirmed', type: 'positive', }) ); }); }); describe('stateColor()', () => { it('should return "positive" when isConfirmed property is truthy', async () => { const result = await vm.stateColor({ isConfirmed: true }); expect(result).toEqual('positive'); }); it('should return "primary" when isConfirmed property is falsy', async () => { const result = await vm.stateColor({ isConfirmed: false }); expect(result).toEqual('primary'); }); }); });