134 lines
4.0 KiB
JavaScript
134 lines
4.0 KiB
JavaScript
|
import './index.js';
|
||
|
describe('Component vnMonitorSalesTickets', () => {
|
||
|
let controller;
|
||
|
let $window;
|
||
|
let tickets = [{
|
||
|
id: 1,
|
||
|
clientFk: 1,
|
||
|
checked: false,
|
||
|
totalWithVat: 10.5
|
||
|
}, {
|
||
|
id: 2,
|
||
|
clientFk: 1,
|
||
|
checked: true,
|
||
|
totalWithVat: 20.5
|
||
|
}, {
|
||
|
id: 3,
|
||
|
clientFk: 1,
|
||
|
checked: true,
|
||
|
totalWithVat: 30
|
||
|
}];
|
||
|
|
||
|
beforeEach(ngModule('monitor'));
|
||
|
|
||
|
beforeEach(inject(($componentController, _$window_) => {
|
||
|
$window = _$window_;
|
||
|
const $element = angular.element('<vn-monitor-sales-tickets></vn-monitor-sales-tickets>');
|
||
|
controller = $componentController('vnMonitorSalesTickets', {$element});
|
||
|
}));
|
||
|
|
||
|
describe('fetchParams()', () => {
|
||
|
it('should return a range of dates with passed scope days', () => {
|
||
|
let params = controller.fetchParams({
|
||
|
scopeDays: 2
|
||
|
});
|
||
|
const from = new Date();
|
||
|
from.setHours(0, 0, 0, 0);
|
||
|
const to = new Date(from.getTime());
|
||
|
to.setDate(to.getDate() + params.scopeDays);
|
||
|
to.setHours(23, 59, 59, 999);
|
||
|
|
||
|
const expectedParams = {
|
||
|
from,
|
||
|
scopeDays: params.scopeDays,
|
||
|
to
|
||
|
};
|
||
|
|
||
|
expect(params).toEqual(expectedParams);
|
||
|
});
|
||
|
|
||
|
it('should return default value for scope days', () => {
|
||
|
let params = controller.fetchParams({
|
||
|
scopeDays: 1
|
||
|
});
|
||
|
|
||
|
expect(params.scopeDays).toEqual(1);
|
||
|
});
|
||
|
|
||
|
it('should return the given scope days', () => {
|
||
|
let params = controller.fetchParams({
|
||
|
scopeDays: 2
|
||
|
});
|
||
|
|
||
|
expect(params.scopeDays).toEqual(2);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('compareDate()', () => {
|
||
|
it('should return warning when the date is the present', () => {
|
||
|
let today = new Date();
|
||
|
let result = controller.compareDate(today);
|
||
|
|
||
|
expect(result).toEqual('warning');
|
||
|
});
|
||
|
|
||
|
it('should return sucess when the date is in the future', () => {
|
||
|
let futureDate = new Date();
|
||
|
futureDate = futureDate.setDate(futureDate.getDate() + 10);
|
||
|
let result = controller.compareDate(futureDate);
|
||
|
|
||
|
expect(result).toEqual('success');
|
||
|
});
|
||
|
|
||
|
it('should return undefined when the date is in the past', () => {
|
||
|
let pastDate = new Date();
|
||
|
pastDate = pastDate.setDate(pastDate.getDate() - 10);
|
||
|
let result = controller.compareDate(pastDate);
|
||
|
|
||
|
expect(result).toEqual(undefined);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('stateColor()', () => {
|
||
|
it('should return "success" when the alertLevelCode property is "OK"', () => {
|
||
|
const result = controller.stateColor({alertLevelCode: 'OK'});
|
||
|
|
||
|
expect(result).toEqual('success');
|
||
|
});
|
||
|
|
||
|
it('should return "notice" when the alertLevelCode property is "FREE"', () => {
|
||
|
const result = controller.stateColor({alertLevelCode: 'FREE'});
|
||
|
|
||
|
expect(result).toEqual('notice');
|
||
|
});
|
||
|
|
||
|
it('should return "warning" when the alertLevel property is "1', () => {
|
||
|
const result = controller.stateColor({alertLevel: 1});
|
||
|
|
||
|
expect(result).toEqual('warning');
|
||
|
});
|
||
|
|
||
|
it('should return "alert" when the alertLevel property is "0"', () => {
|
||
|
const result = controller.stateColor({alertLevel: 0});
|
||
|
|
||
|
expect(result).toEqual('alert');
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('preview()', () => {
|
||
|
it('should show the dialog summary', () => {
|
||
|
controller.$.summary = {show: () => {}};
|
||
|
jest.spyOn(controller.$.summary, 'show');
|
||
|
|
||
|
let event = new MouseEvent('click', {
|
||
|
view: $window,
|
||
|
bubbles: true,
|
||
|
cancelable: true
|
||
|
});
|
||
|
controller.preview(event, tickets[0]);
|
||
|
|
||
|
expect(controller.$.summary.show).toHaveBeenCalledWith();
|
||
|
});
|
||
|
});
|
||
|
});
|