From e824a53fa35a50dde8228364c78865b102d5623f Mon Sep 17 00:00:00 2001 From: jon Date: Thu, 24 Apr 2025 08:24:20 +0200 Subject: [PATCH] feat: refs #8254 new autofill component --- src/components/common/VnBankDetailsForm.vue | 93 +++++++++++++++++++ src/components/common/VnInputBic.vue | 44 --------- .../__tests__/VnBankDetailsForm.spec.js | 43 +++++++++ .../Customer/Card/CustomerBillingData.vue | 62 +++---------- src/pages/Supplier/Card/SupplierAccounts.vue | 76 +++------------ src/pages/Worker/WorkerList.vue | 64 +++---------- 6 files changed, 171 insertions(+), 211 deletions(-) create mode 100644 src/components/common/VnBankDetailsForm.vue delete mode 100644 src/components/common/VnInputBic.vue create mode 100644 src/components/common/__tests__/VnBankDetailsForm.spec.js diff --git a/src/components/common/VnBankDetailsForm.vue b/src/components/common/VnBankDetailsForm.vue new file mode 100644 index 000000000..4e13a4d86 --- /dev/null +++ b/src/components/common/VnBankDetailsForm.vue @@ -0,0 +1,93 @@ + + diff --git a/src/components/common/VnInputBic.vue b/src/components/common/VnInputBic.vue deleted file mode 100644 index b29644912..000000000 --- a/src/components/common/VnInputBic.vue +++ /dev/null @@ -1,44 +0,0 @@ - - diff --git a/src/components/common/__tests__/VnBankDetailsForm.spec.js b/src/components/common/__tests__/VnBankDetailsForm.spec.js new file mode 100644 index 000000000..9d6ade902 --- /dev/null +++ b/src/components/common/__tests__/VnBankDetailsForm.spec.js @@ -0,0 +1,43 @@ +import { createWrapper } from 'app/test/vitest/helper'; +import VnBankDetailsForm from 'components/common/VnBankDetailsForm.vue'; +import { vi, afterEach, expect, it, beforeEach, describe } from 'vitest'; + +describe('VnBankDetail Component', () => { + let vm; + let wrapper; + const bankEntities = [ + { id: 2100, bic: 'CAIXESBBXXX', name: 'CaixaBank' }, + { id: 1234, bic: 'TESTBIC', name: 'Test Bank' }, + ]; + const correctIban = 'ES6621000418401234567891'; + + beforeAll(() => { + wrapper = createWrapper(VnBankDetailsForm, { + $props: { + iban: null, + bankEntityFk: null, + disableElement: false, + }, + }); + vm = wrapper.vm; + wrapper = wrapper.wrapper; + }); + + afterEach(() => { + vi.clearAllMocks(); + }); + + it('should update bankEntityFk when IBAN exists in bankEntities', async () => { + vm.bankEntities = bankEntities; + + await vm.autofillBic(correctIban); + expect(vm.bankEntityFk).toBe(2100); + }); + + it('should set bankEntityFk to null when IBAN bank code is not found', async () => { + vm.bankEntities = bankEntities; + + await vm.autofillBic('ES1234567891324567891234'); + expect(vm.bankEntityFk).toBe(null); + }); +}); diff --git a/src/pages/Customer/Card/CustomerBillingData.vue b/src/pages/Customer/Card/CustomerBillingData.vue index e4b6f8365..fdcbf75d4 100644 --- a/src/pages/Customer/Card/CustomerBillingData.vue +++ b/src/pages/Customer/Card/CustomerBillingData.vue @@ -1,5 +1,4 @@