salix/modules/claim/front/descriptor/index.spec.js

94 lines
3.4 KiB
JavaScript
Raw Normal View History

2019-02-12 06:42:19 +00:00
import './index.js';
describe('Item Component vnClaimDescriptor', () => {
2019-11-06 08:32:54 +00:00
let $httpParamSerializer;
2019-02-12 06:42:19 +00:00
let $httpBackend;
let controller;
beforeEach(ngModule('claim'));
2019-02-12 06:42:19 +00:00
2019-11-06 08:32:54 +00:00
beforeEach(angular.mock.inject(($componentController, _$httpBackend_, _$httpParamSerializer_) => {
2019-02-12 06:42:19 +00:00
$httpBackend = _$httpBackend_;
2019-11-06 08:32:54 +00:00
$httpParamSerializer = _$httpParamSerializer_;
2019-02-12 06:42:19 +00:00
controller = $componentController('vnClaimDescriptor');
2019-11-06 08:32:54 +00:00
controller.claim = {id: 2, clientFk: 101, client: {email: 'client@email'}};
2019-02-12 06:42:19 +00:00
}));
describe('showPickupOrder()', () => {
it('should open a new window showing a pickup order PDF document', () => {
2019-11-06 08:32:54 +00:00
const params = {
clientId: controller.claim.clientFk,
claimId: controller.claim.id
};
const serializedParams = $httpParamSerializer(params);
let expectedPath = `api/report/claim-pickup-order?${serializedParams}`;
2019-02-12 06:42:19 +00:00
spyOn(window, 'open');
controller.showPickupOrder();
expect(window.open).toHaveBeenCalledWith(expectedPath);
});
});
describe('confirmPickupOrder()', () => {
it('should call confirmPickupOrder.show()', () => {
controller.$scope.confirmPickupOrder = {
show: jasmine.createSpy('show')
};
controller.claim = {id: 2};
controller.confirmPickupOrder();
expect(controller.$scope.confirmPickupOrder.show).toHaveBeenCalledWith();
});
});
describe('sendPickupOrder(response)', () => {
2019-10-30 15:57:14 +00:00
it('should make a query and call vnApp.showMessage() if the response is accept', () => {
2019-02-12 06:42:19 +00:00
spyOn(controller.vnApp, 'showMessage');
2019-11-06 08:32:54 +00:00
const params = {
recipient: 'client@email',
clientId: controller.claim.clientFk,
claimId: controller.claim.id
};
const serializedParams = $httpParamSerializer(params);
$httpBackend.when('GET', `email/claim-pickup-order?${serializedParams}`).respond();
$httpBackend.expect('GET', `email/claim-pickup-order?${serializedParams}`).respond();
2019-10-30 15:57:14 +00:00
controller.sendPickupOrder('accept');
2019-02-12 06:42:19 +00:00
$httpBackend.flush();
expect(controller.vnApp.showMessage).toHaveBeenCalledWith('Notification sent!');
});
});
describe('confirmDeleteClaim()', () => {
it('should call confirmDeleteClaim.show()', () => {
controller.$scope.confirmDeleteClaim = {
show: jasmine.createSpy('show')
};
controller.claim = {id: 2};
controller.confirmDeleteClaim();
expect(controller.$scope.confirmDeleteClaim.show).toHaveBeenCalledWith();
});
});
describe('deleteClaime(response)', () => {
2019-10-30 15:57:14 +00:00
it('should perform a query and call showSuccess if the response is accept', () => {
let response = 'accept';
controller.claim = {id: 2};
spyOn(controller.vnApp, 'showSuccess');
spyOn(controller.$state, 'go');
$httpBackend.when('DELETE', `Claims/2`).respond(200);
$httpBackend.expect('DELETE', `Claims/2`);
controller.deleteClaim(response);
$httpBackend.flush();
expect(controller.vnApp.showSuccess).toHaveBeenCalledWith('Claim deleted!');
expect(controller.$state.go).toHaveBeenCalledWith('claim.index');
});
});
2019-02-12 06:42:19 +00:00
});