64 lines
2.5 KiB
JavaScript
64 lines
2.5 KiB
JavaScript
import './index.js';
|
|
|
|
describe('Order', () => {
|
|
describe('Component vnOrderCard', () => {
|
|
let $scope;
|
|
let controller;
|
|
let $httpBackend;
|
|
let $state;
|
|
|
|
beforeEach(ngModule('order'));
|
|
|
|
beforeEach(angular.mock.inject(($componentController, $rootScope, _$httpBackend_) => {
|
|
$httpBackend = _$httpBackend_;
|
|
$scope = $rootScope.$new();
|
|
$scope.card = {createOrder: () => {}};
|
|
$state = {params: {id: 1}};
|
|
controller = $componentController('vnOrderCard', {$scope, $state});
|
|
}));
|
|
|
|
describe('getCard()', () => {
|
|
it(`should make a query, save the data in order and call get order if the response has data`, () => {
|
|
spyOn(controller, 'getTotal');
|
|
let json = encodeURIComponent(JSON.stringify(controller.filter));
|
|
$httpBackend.expectGET(`/order/api/Orders/${controller.$state.params.id}?filter=${json}`).respond({rows: [1, 2, 3]});
|
|
controller.getCard();
|
|
$httpBackend.flush();
|
|
|
|
expect(controller.order).toEqual({rows: [1, 2, 3]});
|
|
expect(controller.getTotal).toHaveBeenCalledWith();
|
|
});
|
|
|
|
it(`should make a query and not call getTotal if the response is not defined`, () => {
|
|
spyOn(controller, 'getTotal');
|
|
let json = encodeURIComponent(JSON.stringify(controller.filter));
|
|
$httpBackend.expectGET(`/order/api/Orders/${controller.$state.params.id}?filter=${json}`).respond(undefined);
|
|
controller.getCard();
|
|
$httpBackend.flush();
|
|
|
|
expect(controller.order).toEqual({});
|
|
expect(controller.getTotal).not.toHaveBeenCalledWith();
|
|
});
|
|
});
|
|
|
|
describe('getTotal()', () => {
|
|
it(`should make a query and save the data in order.total`, () => {
|
|
$httpBackend.expectGET(`/order/api/Orders/${controller.$state.params.id}/getTotal`).respond('20M');
|
|
controller.getTotal();
|
|
$httpBackend.flush();
|
|
|
|
expect(controller.order.total).toEqual('20M');
|
|
});
|
|
|
|
it(`should make a query and not save the respones if is not defined`, () => {
|
|
$httpBackend.expectGET(`/order/api/Orders/${controller.$state.params.id}/getTotal`).respond();
|
|
controller.getTotal();
|
|
$httpBackend.flush();
|
|
|
|
expect(controller.order.total).toEqual(undefined);
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|