diff --git a/client/client/src/billing-data/billing-data.spec.js b/client/client/src/billing-data/billing-data.spec.js index 89184c83c..b527b19f3 100644 --- a/client/client/src/billing-data/billing-data.spec.js +++ b/client/client/src/billing-data/billing-data.spec.js @@ -16,53 +16,48 @@ describe('Client', () => { $httpBackend = _$httpBackend_; $httpBackend.when('GET', /\/locale\/\w+\/[a-z]{2}\.json/).respond({}); $scope = $rootScope.$new(); - let submit = jasmine.createSpy('submit').and.returnValue(Promise.resolve()); - $scope.watcher = {submit}; + $scope.watcher = { + submit: () => { + return { + then: callback => { + callback(); + } + }; + } + }; $httpBackend.get = jasmine.createSpy('get').and.returnValue(Promise.resolve()); controller = $componentController('vnClientBillingData', {$scope: $scope}, {$http: $httpBackend}); + controller.client = {id: 101, name: 'Client name', payMethodFk: 4}; })); - describe('copyData()', () => { - it(`should define billData using client's data`, () => { - controller.client = { - dueDay: 0, - iban: null, - payMethodFk: 1 - }; - controller.billData = {}; - controller.copyData(controller.client); - - expect(controller.billData).toEqual(controller.client); + describe('client()', () => { + it(`should call setter client`, () => { + expect(controller.orgData).toEqual(controller.client); }); }); - describe('submit()', () => { - it(`should call submit() on the watcher then receive a callback`, done => { - spyOn(controller, 'checkPaymentChanges'); - controller.submit() - .then(() => { - expect(controller.$.watcher.submit).toHaveBeenCalledWith(); - expect(controller.checkPaymentChanges).toHaveBeenCalledWith(); - done(); - }); + describe('hasPaymethodChanged()', () => { + it(`should call hasPaymethodChanged() and return true if there are changes on payMethod data`, () => { + controller.client.payMethodFk = 5; + + expect(controller.hasPaymethodChanged()).toBeTruthy(); + }); + + it(`should call hasPaymethodChanged() and return false if there are no changes on payMethod data`, () => { + controller.client.payMethodFk = 4; + + expect(controller.hasPaymethodChanged()).toBeFalsy(); }); }); - describe('checkPaymentChanges()', () => { - it(`should not call sendMail.show() if there are no changes on billing data`, () => { - controller.billData = {marvelHero: 'Silver Surfer'}; - controller.client = {marvelHero: 'Silver Surfer'}; - controller.checkPaymentChanges(); + describe('onSubmit()', () => { + it(`should call notifyChanges() if there are changes on payMethod data`, () => { + spyOn(controller, 'notifyChanges'); + controller.client.payMethodFk = 5; + controller.onSubmit(); - expect(controller.$http.get).not.toHaveBeenCalled(); - }); - - it(`should call sendMail.show() if there are changes on billing data object`, () => { - controller.billData = {id: '123', marvelHero: 'Silver Surfer'}; - controller.client = {id: '123', marvelHero: 'Spider-Man'}; - controller.checkPaymentChanges(); - - expect(controller.$http.get).toHaveBeenCalled(); + expect(controller.hasPaymethodChanged()).toBeTruthy(); + expect(controller.notifyChanges).toHaveBeenCalledWith(); }); }); }); diff --git a/client/client/src/billing-data/index.html b/client/client/src/billing-data/index.html index 588ef2bc3..cf2672789 100644 --- a/client/client/src/billing-data/index.html +++ b/client/client/src/billing-data/index.html @@ -5,7 +5,7 @@ form="form" save="patch"> -