From a27a48f251a17a6c7a9b05d08dc03f9b13305167 Mon Sep 17 00:00:00 2001 From: alexm Date: Tue, 1 Mar 2022 10:44:46 +0100 Subject: [PATCH] fix(supplier_account): fix setWireTransfer and add test --- modules/supplier/front/account/index.js | 10 +++++++ modules/supplier/front/account/index.spec.js | 28 ++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/modules/supplier/front/account/index.js b/modules/supplier/front/account/index.js index 6c6e77d2ee..5629e65d36 100644 --- a/modules/supplier/front/account/index.js +++ b/modules/supplier/front/account/index.js @@ -45,6 +45,16 @@ class Controller extends Section { this.$.payMethodToTransfer.show(); }); } + + setWireTransfer() { + const params = { + id: this.$params.id, + payMethodFk: this.wireTransferFk + }; + const query = `Suppliers/${this.$params.id}`; + return this.$http.patch(query, params) + .then(() => this.$.watcher.notifySaved()); + } } ngModule.vnComponent('vnSupplierAccount', { diff --git a/modules/supplier/front/account/index.spec.js b/modules/supplier/front/account/index.spec.js index 5c824907f6..ad29d1abc9 100644 --- a/modules/supplier/front/account/index.spec.js +++ b/modules/supplier/front/account/index.spec.js @@ -5,9 +5,12 @@ import crudModel from 'core/mocks/crud-model'; describe('Supplier Component vnSupplierAccount', () => { let $scope; let controller; + let $httpBackend; + beforeEach(ngModule('supplier')); beforeEach(inject(($componentController, $rootScope, _$httpBackend_) => { + $httpBackend = _$httpBackend_; $scope = $rootScope.$new(); $scope.model = crudModel; $scope.watcher = watcher; @@ -66,5 +69,30 @@ describe('Supplier Component vnSupplierAccount', () => { }).catch(done.fail); }); }); + + describe('setWireTransfer()', () => { + it(`should make HTTP PATCH request to set wire transfer and call notifySaved`, () => { + const supplierId = 1; + const params = { + id: supplierId, + payMethodFk: 2 + }; + const response = { + data: {id: 2} + }; + const uri = 'payMethods/findOne?filter=%7B%22where%22:%7B%22code%22:%22wireTransfer%22%7D%7D'; + jest.spyOn($scope.watcher, 'notifySaved'); + + controller.$params.id = supplierId; + controller.wireTransferFk = 2; + controller.supplier = {payMethodFk: 1}; + $httpBackend.expectGET(uri).respond(response); + $httpBackend.expectPATCH(`Suppliers/${supplierId}`, params).respond(); + controller.setWireTransfer(); + $httpBackend.flush(); + + expect($scope.watcher.notifySaved).toHaveBeenCalledWith(); + }); + }); });