salix/modules/ticket/front/sale/specs/editDiscount.spec.js

87 lines
3.0 KiB
JavaScript
Raw Normal View History

2019-06-06 07:34:36 +00:00
import '../editDiscount.js';
describe('Ticket', () => {
describe('Component vnTicketSaleEditDiscount', () => {
let controller;
let $httpBackend;
let $state;
let $scope;
beforeEach(ngModule('ticket'));
beforeEach(angular.mock.inject(($componentController, _$state_, _$httpBackend_, $rootScope) => {
$httpBackend = _$httpBackend_;
$scope = $rootScope.$new();
$scope.index = {model: {instances: [{id: 1}, {id: 2}]}, accept: () => {
return {
then: () => {}
};
}};
$state = _$state_;
2019-06-05 11:39:15 +00:00
$state.params.id = 11;
controller = $componentController('vnTicketSaleEditDiscount', {$scope, $state});
2019-06-05 11:39:15 +00:00
controller._edit = [{id: 3}];
2019-02-15 12:13:23 +00:00
controller.onHide = () => {};
}));
describe('edit() setter', () => {
it('should set _edit value and call setNewDiscount', () => {
spyOn(controller, 'setNewDiscount');
controller.edit = {id: 1};
expect(controller.edit).toEqual({id: 1});
expect(controller.setNewDiscount).toHaveBeenCalledWith();
});
});
describe('bulk() setter', () => {
it('should set _bulk value and call setNewDiscount', () => {
spyOn(controller, 'setNewDiscount');
controller.bulk = true;
expect(controller.bulk).toEqual(true);
expect(controller.setNewDiscount).toHaveBeenCalledWith();
});
});
describe('setNewDiscount()', () => {
it('should set NewDiscount to edit[0].discount value if it doesnt exists', () => {
controller.edit = [{discount: 1}];
controller.setNewDiscount();
expect(controller.newDiscount).toEqual(1);
});
});
describe('updateDiscount()', () => {
it('should make a query if the discount value has been modified or the bulk value is true', () => {
controller.bulk = true;
controller.newDiscount = 15;
2019-06-05 11:39:15 +00:00
$httpBackend.expectPOST(`/api/Tickets/11/updateDiscount`).respond();
controller.updateDiscount();
$httpBackend.flush();
});
2019-06-05 11:39:15 +00:00
it(`should throw if there's no changes on discount and it isn't bulk`, () => {
controller.bulk = false;
2019-06-05 11:39:15 +00:00
controller.newDiscount = 15;
controller.edit = [{discount: 15}];
spyOn(controller.vnApp, 'showError');
controller.updateDiscount();
2019-05-29 09:11:54 +00:00
expect(controller.vnApp.showError).toHaveBeenCalledWith('There are no changes to save');
});
});
2019-06-06 07:34:36 +00:00
describe('clearDiscount()', () => {
it('should set newDiscount to null', () => {
2019-06-06 07:34:36 +00:00
controller.clearDiscount();
expect(controller.newDiscount).toEqual(null);
});
});
});
});