From 5b81308cd972aa55cc124716670fe9b4fd2a4879 Mon Sep 17 00:00:00 2001 From: Carlos Jimenez <=> Date: Sun, 12 Aug 2018 10:55:16 +0200 Subject: [PATCH] #514 ticket step 3 clientside unit tests --- .../ticket/src/data/step-three/index.spec.js | 35 ++++++++++++++----- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/client/ticket/src/data/step-three/index.spec.js b/client/ticket/src/data/step-three/index.spec.js index db98ab357..797444835 100644 --- a/client/ticket/src/data/step-three/index.spec.js +++ b/client/ticket/src/data/step-three/index.spec.js @@ -1,4 +1,4 @@ -/* import './index.js'; +import './index.js'; describe('ticket', () => { describe('Component vnTicketDataStepThree', () => { @@ -6,20 +6,36 @@ describe('ticket', () => { let $state; let controller; let $httpBackend; + let vnApp; beforeEach(() => { angular.mock.module('ticket'); }); - beforeEach(angular.mock.inject((_$componentController_, _$state_, _$httpBackend_) => { + beforeEach(angular.mock.inject((_$componentController_, _$state_, _$httpBackend_, _vnApp_) => { $componentController = _$componentController_; $state = _$state_; + spyOn($state, 'go'); + vnApp = _vnApp_; + spyOn(vnApp, 'showError'); $httpBackend = _$httpBackend_; + $httpBackend.when('GET', /\/locale\/\w+\/[a-z]{2}\.json/).respond({}); controller = $componentController('vnTicketDataStepThree', {$state: $state}); })); describe('onSubmit()', () => { - it('should call onSubmit()', () => { + it(`should return an error if the item doesn't have option property in the controller`, () => { + controller.ticket = {}; + + controller.onSubmit(); + + expect(vnApp.showError).toHaveBeenCalledWith('Choose an option'); + }); + + it('should perform a post query correctly then call two functions()', () => { + controller.card = {reload: () => {}}; + spyOn(controller.card, 'reload'); + controller.ticket = { id: 1, agencyModeFk: 1, @@ -39,13 +55,14 @@ describe('ticket', () => { option: 1 }; - let response = {data: {error: {message: 'NOTHING_HERE'}}}; + $httpBackend.whenPOST(`/ticket/api/tickets/1/componentUpdate`, data).respond('ok'); + $httpBackend.expectPOST(`/ticket/api/tickets/1/componentUpdate`, data); + controller.onSubmit(); + $httpBackend.flush(); - $httpBackend.whenPOST(`/ticket/api/tickets/1/componentUpdate`, data).respond(400, response); - $httpBackend.expectPOST(`/ticket/api/tickets/1/componentUpdate`, data); - controller.onSubmit(); - $httpBackend.flush(); + expect(controller.$state.go).toHaveBeenCalledWith('ticket.card.summary', jasmine.any(Object)); + expect(controller.card.reload).toHaveBeenCalledWith(); }); }); }); -}); */ +});