salix/modules/invoiceIn/front/summary/index.spec.js

58 lines
2.0 KiB
JavaScript

import './index.js';
describe('InvoiceIn', () => {
describe('Component summary', () => {
let controller;
let $httpBackend;
let $scope;
beforeEach(ngModule('invoiceIn'));
beforeEach(inject(($componentController, _$httpBackend_, $rootScope) => {
$httpBackend = _$httpBackend_;
$scope = $rootScope.$new();
const $element = angular.element('<vn-invoice-in-summary></vn-invoice-in-summary>');
controller = $componentController('vnInvoiceInSummary', {$element, $scope});
controller.invoiceIn = {id: 1};
}));
describe('getSummary()', () => {
it('should perform a query to set summary', () => {
$httpBackend.when('GET', `InvoiceIns/1/summary`).respond(200, 'the data you are looking for');
controller.getSummary();
$httpBackend.flush();
expect(controller.summary).toEqual('the data you are looking for');
});
});
describe('amountsNotMatch getter()', () => {
it('should get false when taxamount match with due day amount', () => {
controller.summary =
{
totals: {
totalDueDay: 'amount match',
totalTaxableBase: 'amount match',
totalVat: 'no care'
}
};
expect(controller.amountsNotMatch).toBeFalsy();
});
it('should get true when taxamount does not match with due day amount', () => {
controller.summary =
{
totals: {
totalDueDay: 'amount does not match',
totalTaxableBase: 'neither match',
totalVat: 'no care'
}
};
expect(controller.amountsNotMatch).toBeTruthy();
});
});
});
});