From 9fb2961022fc411b7eb9b374e4d17178f0c4a037 Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Tue, 25 Mar 2025 11:31:45 +0100 Subject: [PATCH] test: refs #8217 add TEST --- src/components/FormModel.vue | 2 +- src/components/__tests__/FormModel.spec.js | 23 +++++++++++++++------- src/filters/getDifferences.js | 1 + 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/components/FormModel.vue b/src/components/FormModel.vue index 453c12a58..5b16f9a3e 100644 --- a/src/components/FormModel.vue +++ b/src/components/FormModel.vue @@ -12,7 +12,7 @@ import SkeletonForm from 'components/ui/SkeletonForm.vue'; import VnConfirm from './ui/VnConfirm.vue'; import { tMobile } from 'src/composables/tMobile'; import { useArrayData } from 'src/composables/useArrayData'; -import { getDifferences, getUpdatedValues, onBeforeSave } from 'src/filters'; +import { onBeforeSave } from 'src/filters'; const { push } = useRouter(); const quasar = useQuasar(); diff --git a/src/components/__tests__/FormModel.spec.js b/src/components/__tests__/FormModel.spec.js index 3dce04374..adea16c69 100644 --- a/src/components/__tests__/FormModel.spec.js +++ b/src/components/__tests__/FormModel.spec.js @@ -92,30 +92,39 @@ describe('FormModel', () => { expect(vm.hasChanges).toBe(false); }); - it('should call axios.patch with the right data', async () => { - const spy = vi.spyOn(axios, 'patch').mockResolvedValue({ data: {} }); - const { vm } = mount({ propsData: { url, model } }); + it('should call axios.post with the right data', async () => { + const spy = vi.spyOn(axios, 'post').mockResolvedValue({ data: {} }); + const urlCreate = 'mockUrlCreate'; + const { vm } = mount({ propsData: { url, urlCreate, model } }); vm.formData = {}; await vm.$nextTick(); - vm.formData = { mockKey: 'newVal' }; + const formData = { mockKey: 'newVal', mockKey2: 'newVal2' }; + vm.formData = formData; await vm.$nextTick(); await vm.save(); expect(spy).toHaveBeenCalled(); + expect(spy).toHaveBeenCalledWith(urlCreate, formData); vm.formData.mockKey = 'mockVal'; }); - it('should call axios.post with the right data', async () => { - const spy = vi.spyOn(axios, 'post').mockResolvedValue({ data: {} }); + it('should call axios.patch with the right data', async () => { + const spy = vi.spyOn(axios, 'patch').mockResolvedValue({ data: {} }); + const { vm } = mount({ - propsData: { url, model, formInitialData, urlCreate: 'mockUrlCreate' }, + propsData: { + url, + model, + formInitialData: { ...formInitialData, key1: 'valueKey1' }, + }, }); await vm.$nextTick(); vm.formData.mockKey = 'newVal'; await vm.$nextTick(); await vm.save(); expect(spy).toHaveBeenCalled(); + expect(spy).toHaveBeenCalledWith(url, { mockKey: 'newVal' }); vm.formData.mockKey = 'mockVal'; }); diff --git a/src/filters/getDifferences.js b/src/filters/getDifferences.js index e54b03292..33244d1cb 100644 --- a/src/filters/getDifferences.js +++ b/src/filters/getDifferences.js @@ -1,5 +1,6 @@ export default function getDifferences(obj1, obj2) { let diff = {}; + delete obj1.$index; if (!obj2) return obj1; delete obj2.$index;