import { createWrapper, axios } from 'app/test/vitest/helper'; import VnDmsList from 'src/components/common/VnDmsList.vue'; import { vi, afterEach, beforeAll, describe, expect, it } from 'vitest'; describe('VnDmsList', () => { let vm; const dms = { userFk: 1, name: 'DMS 1' }; beforeAll(() => { vi.spyOn(axios, 'get').mockResolvedValue({ data: [] }); vm = createWrapper(VnDmsList, { props: { model: 'WorkerDms/1110/filter', defaultDmsCode: 'hhrrData', filter: 'wd.workerFk', updateModel: 'Workers', deleteModel: 'WorkerDms', downloadModel: 'WorkerDms' } }).vm; }); afterEach(() => { vi.clearAllMocks(); }); describe('setData()', () => { const data = [ { userFk: 1, name: 'Jessica', lastName: 'Jones', file: '4.jpg', created: '2021-07-28 21:00:00' }, { userFk: 2, name: 'Bruce', lastName: 'Banner', created: '2022-07-28 21:00:00', dms: { userFk: 2, name: 'Bruce', lastName: 'BannerDMS', created: '2022-07-28 21:00:00', file: '4.jpg', } }, { userFk: 3, name: 'Natasha', lastName: 'Romanoff', file: '4.jpg', created: '2021-10-28 21:00:00' } ] it('Should replace objects that contain the "dms" property with the value of the same and sort by creation date', () => { vm.setData(data); expect([vm.rows][0][0].lastName).toEqual('BannerDMS'); expect([vm.rows][0][1].lastName).toEqual('Romanoff'); }); }); describe('parseDms()', () => { const resultDms = { ...dms, userId:1}; it('Should add properties that end with "Fk" by changing the suffix to "Id"', () => { const parsedDms = vm.parseDms(dms); expect(parsedDms).toEqual(resultDms); }); }); describe('showFormDialog()', () => { const resultDms = { ...dms, userId:1}; it('should call fn parseDms() and set show true if dms is defined', () => { vm.showFormDialog(dms); expect(vm.formDialog.show).toEqual(true); expect(vm.formDialog.dms).toEqual(resultDms); }); }); });