import { vi, describe, expect, it, beforeAll } from 'vitest';
import { createWrapper, axios } from 'app/test/vitest/helper';
import InvoiceInBasicData from 'src/pages/InvoiceIn/Card/InvoiceInBasicData.vue';

describe('InvoiceInBasicData', () => {
    let vm;

    beforeAll(() => {
        vm = createWrapper(InvoiceInBasicData, {
            global: {
                stubs: [],
                mocks: {
                    fetch: vi.fn(),
                },
            },
        }).vm;
    });

    describe('upsert()', () => {
        it('should throw an error when data is empty', async () => {
            vi.spyOn(axios, 'post').mockResolvedValue({ data: [] });
            vi.spyOn(vm.quasar, 'notify');

            await vm.upsert();

            expect(vm.quasar.notify).toHaveBeenCalledWith(
                expect.objectContaining({
                    message: `The company can't be empty`,
                    type: 'negative',
                })
            );
        });
    });
});
