126 lines
4.5 KiB
JavaScript
126 lines
4.5 KiB
JavaScript
import './index.js';
|
|
|
|
describe('ticket Component vnTicketDescriptorPopover', () => {
|
|
let $httpBackend;
|
|
let $scope;
|
|
let controller;
|
|
let $element;
|
|
let $timeout;
|
|
|
|
beforeEach(ngModule('ticket'));
|
|
|
|
beforeEach(angular.mock.inject(($componentController, $rootScope, _$httpBackend_, _$timeout_) => {
|
|
$httpBackend = _$httpBackend_;
|
|
$timeout = _$timeout_;
|
|
$element = angular.element(`<div></div>`);
|
|
$scope = $rootScope.$new();
|
|
$scope.popover = {relocate: () => {}, show: () => {}};
|
|
controller = $componentController('vnTicketDescriptorPopover', {$scope, $element});
|
|
}));
|
|
|
|
describe('ticketFk()', () => {
|
|
it(`should not apply any changes if the received id is the same stored in _ticketFk`, () => {
|
|
controller.ticket = 'I exist!';
|
|
controller._ticketFk = 1;
|
|
jest.spyOn(controller, 'getCard');
|
|
controller.ticketFk = 1;
|
|
|
|
expect(controller.ticket).toEqual('I exist!');
|
|
expect(controller._ticketFk).toEqual(1);
|
|
expect(controller.getCard).not.toHaveBeenCalled();
|
|
});
|
|
|
|
it(`should set the received id into _ticketFk, set the ticket to null and then call getCard()`, () => {
|
|
controller.ticket = `Please don't`;
|
|
controller._ticketFk = 1;
|
|
jest.spyOn(controller, 'getCard');
|
|
controller.ticketFk = 999;
|
|
|
|
expect(controller.ticket).toBeNull();
|
|
expect(controller._ticketFk).toEqual(999);
|
|
expect(controller.getCard).toHaveBeenCalledWith();
|
|
});
|
|
});
|
|
|
|
describe('ticket()', () => {
|
|
it(`should save the ticket into _ticket and then call relocate()`, () => {
|
|
jest.spyOn(controller.$.popover, 'relocate');
|
|
controller.ticket = `i'm the ticket!`;
|
|
$timeout.flush();
|
|
|
|
expect(controller._ticket).toEqual(`i'm the ticket!`);
|
|
expect(controller.$.popover.relocate).toHaveBeenCalledWith();
|
|
});
|
|
});
|
|
|
|
describe('show()', () => {
|
|
it(`should call the show()`, () => {
|
|
jest.spyOn(controller.$.popover, 'show');
|
|
controller.show();
|
|
|
|
expect(controller.$.popover.show).toHaveBeenCalledWith();
|
|
});
|
|
});
|
|
|
|
describe('getCard()', () => {
|
|
it(`should perform a get query to store the ticket data into the controller`, () => {
|
|
controller.ticketFk = 1;
|
|
controller.canceler = null;
|
|
let response = {};
|
|
|
|
let filter = {
|
|
include: [
|
|
{
|
|
relation: 'warehouse',
|
|
scope: {
|
|
fields: ['name']
|
|
}
|
|
},
|
|
{
|
|
relation: 'agencyMode',
|
|
scope: {
|
|
fields: ['name']
|
|
}
|
|
},
|
|
{
|
|
relation: 'client',
|
|
scope: {
|
|
fields: ['salesPersonFk', 'name', 'isActive', 'isFreezed', 'isTaxDataChecked'],
|
|
include: {
|
|
relation: 'salesPerson',
|
|
scope: {
|
|
fields: ['userFk'],
|
|
include: {
|
|
relation: 'user',
|
|
scope: {
|
|
fields: ['nickname']
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
relation: 'state',
|
|
scope: {
|
|
fields: ['stateFk'],
|
|
include: {
|
|
relation: 'state',
|
|
fields: ['id', 'name'],
|
|
}
|
|
}
|
|
}
|
|
]
|
|
};
|
|
let json = encodeURIComponent(JSON.stringify(filter));
|
|
$httpBackend.when('GET', `Tickets/${controller._ticketFk}?filter=${json}`).respond(response);
|
|
$httpBackend.expect('GET', `Tickets/${controller._ticketFk}?filter=${json}`);
|
|
controller.getCard();
|
|
$httpBackend.flush();
|
|
|
|
expect(controller.ticket).toEqual(response);
|
|
});
|
|
});
|
|
});
|
|
|