89 lines
3.0 KiB
JavaScript
89 lines
3.0 KiB
JavaScript
|
import './index';
|
||
|
import crudModel from 'core/mocks/crud-model';
|
||
|
|
||
|
describe('client defaulter', () => {
|
||
|
describe('Component vnClientDefaulterIndex', () => {
|
||
|
let controller;
|
||
|
|
||
|
beforeEach(ngModule('client'));
|
||
|
|
||
|
beforeEach(inject($componentController => {
|
||
|
const $element = angular.element('<vn-client-defaulter></vn-client-defaulter>');
|
||
|
controller = $componentController('vnClientDefaulterIndex', {$element});
|
||
|
controller.$.model = crudModel;
|
||
|
controller.$.model.data = [
|
||
|
{clientFk: 1101, amount: 125},
|
||
|
{clientFk: 1102, amount: 500},
|
||
|
{clientFk: 1103, amount: 250}
|
||
|
];
|
||
|
}));
|
||
|
|
||
|
describe('checked() getter', () => {
|
||
|
it('should return the checked lines', () => {
|
||
|
const data = controller.$.model.data;
|
||
|
data[1].checked = true;
|
||
|
data[2].checked = true;
|
||
|
|
||
|
const checkedRows = controller.checked;
|
||
|
|
||
|
const firstCheckedRow = checkedRows[0];
|
||
|
const secondCheckedRow = checkedRows[1];
|
||
|
|
||
|
expect(firstCheckedRow.clientFk).toEqual(1102);
|
||
|
expect(secondCheckedRow.clientFk).toEqual(1103);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('balanceDueTotal() getter', () => {
|
||
|
it('should return balance due total', () => {
|
||
|
const data = controller.$.model.data;
|
||
|
data[1].checked = true;
|
||
|
data[2].checked = true;
|
||
|
|
||
|
const checkedRows = controller.checked;
|
||
|
const expectedAmount = checkedRows[0].amount + checkedRows[1].amount;
|
||
|
|
||
|
const result = controller.balanceDueTotal;
|
||
|
|
||
|
expect(result).toEqual(expectedAmount);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('onResponse()', () => {
|
||
|
it('should return error for empty message', () => {
|
||
|
let error;
|
||
|
try {
|
||
|
controller.onResponse();
|
||
|
} catch (e) {
|
||
|
error = e;
|
||
|
}
|
||
|
|
||
|
expect(error).toBeDefined();
|
||
|
expect(error.message).toBe(`The message can't be empty`);
|
||
|
});
|
||
|
|
||
|
it('should return saved message', () => {
|
||
|
controller.defaulter = {observation: 'asdasd'};
|
||
|
jest.spyOn(controller.vnApp, 'showMessage');
|
||
|
controller.onResponse();
|
||
|
|
||
|
expect(controller.vnApp.showMessage).toHaveBeenCalledWith('Observation saved!');
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('exprBuilder()', () => {
|
||
|
it('should search by sales person', () => {
|
||
|
let expr = controller.exprBuilder('salesPersonFk', '5');
|
||
|
|
||
|
expect(expr).toEqual({'d.salesPersonFk': '5'});
|
||
|
});
|
||
|
|
||
|
it('should search by client name', () => {
|
||
|
let expr = controller.exprBuilder('clientName', '1foo');
|
||
|
|
||
|
expect(expr).toEqual({'d.clientName': '1foo'});
|
||
|
});
|
||
|
});
|
||
|
});
|
||
|
});
|