From ea8a7de6d2b01ee26826fcd002e66dcc7889292b Mon Sep 17 00:00:00 2001 From: alexm Date: Mon, 18 Sep 2023 14:56:14 +0200 Subject: [PATCH] refs #5673 feat(crudModel): works with null values --- src/components/CrudModel.vue | 2 +- src/components/common/VnSelectFilter.vue | 2 ++ src/pages/Claim/Card/ClaimDevelopment.vue | 8 ++++---- .../vitest/__tests__/components/common/CrudModel.spec.js | 9 +++++---- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/components/CrudModel.vue b/src/components/CrudModel.vue index 98e2ff62f..e724bc0c5 100644 --- a/src/components/CrudModel.vue +++ b/src/components/CrudModel.vue @@ -226,7 +226,7 @@ function getDifferences(obj1, obj2) { } } for (let key in obj2) { - if (obj1[key] === undefined && obj2[key]) { + if (obj1[key] === undefined || obj1[key] !== obj2[key]) { diff[key] = obj2[key]; } } diff --git a/src/components/common/VnSelectFilter.vue b/src/components/common/VnSelectFilter.vue index 95150cadc..1a1986c80 100644 --- a/src/components/common/VnSelectFilter.vue +++ b/src/components/common/VnSelectFilter.vue @@ -63,5 +63,7 @@ watch(options, (newValue) => { map-options use-input @filter="filterHandler" + clearable + clear-icon="close" /> diff --git a/src/pages/Claim/Card/ClaimDevelopment.vue b/src/pages/Claim/Card/ClaimDevelopment.vue index b293fcc8b..8c57d78ee 100644 --- a/src/pages/Claim/Card/ClaimDevelopment.vue +++ b/src/pages/Claim/Card/ClaimDevelopment.vue @@ -34,7 +34,7 @@ const developmentsFilter = { const columns = computed(() => [ { - name: 'reason', + name: 'claimReason', label: t('Reason'), field: (row) => row.claimReasonFk, sortable: true, @@ -45,7 +45,7 @@ const columns = computed(() => [ optionLabel: 'description', }, { - name: 'result', + name: 'claimResult', label: t('Result'), field: (row) => row.claimResultFk, sortable: true, @@ -56,7 +56,7 @@ const columns = computed(() => [ optionLabel: 'description', }, { - name: 'responsible', + name: 'claimResponsible', label: t('Responsible'), field: (row) => row.claimResponsibleFk, sortable: true, @@ -77,7 +77,7 @@ const columns = computed(() => [ optionLabel: 'nickname', }, { - name: 'redelivery', + name: 'claimRedelivery', label: t('Redelivery'), field: (row) => row.claimRedeliveryFk, sortable: true, diff --git a/test/vitest/__tests__/components/common/CrudModel.spec.js b/test/vitest/__tests__/components/common/CrudModel.spec.js index 870226309..b4770e2e8 100644 --- a/test/vitest/__tests__/components/common/CrudModel.spec.js +++ b/test/vitest/__tests__/components/common/CrudModel.spec.js @@ -95,8 +95,8 @@ describe('CrudModel', () => { }); }); - // TODO: remove test - describe.skip('remove()', () => { + // TODO: test .onOk() + describe('remove()', () => { it('should remove', async () => { vi.spyOn(vm.quasar, 'dialog'); @@ -111,7 +111,7 @@ describe('CrudModel', () => { { id: 3, name: 'Bruce Wayne', $index: 3 }, ]); - vm.remove([{ id: 1 }]); + await vm.remove([{ id: 1 }]); expect(vm.quasar.dialog).toHaveBeenCalled(); }); @@ -125,7 +125,7 @@ describe('CrudModel', () => { c: 3, }; const obj2 = { - a: 1, + a: null, b: 4, d: 5, }; @@ -133,6 +133,7 @@ describe('CrudModel', () => { const result = vm.getDifferences(obj1, obj2); expect(result).toEqual({ + a: null, b: 4, d: 5, });