salix/client/order/src/create/card.spec.js

97 lines
3.6 KiB
JavaScript
Raw Normal View History

import './card.js';
describe('Order', () => {
describe('Component vnOrderCreateCard', () => {
let $componentController;
let controller;
let $httpBackend;
beforeEach(() => {
angular.mock.module('order');
});
beforeEach(angular.mock.inject((_$componentController_, _$httpBackend_, _vnApp_) => {
$componentController = _$componentController_;
$httpBackend = _$httpBackend_;
$httpBackend.when('GET', /\/locale\/\w+\/[a-z]{2}\.json/).respond({});
controller = $componentController('vnOrderCreateCard');
controller.item = {id: 3};
}));
describe('set order', () => {
it(`should not set order if the value given is null`, () => {
controller.order = null;
expect(controller.order).toEqual({});
});
it(`should set order if the value given is not null`, () => {
controller.order = 1;
expect(controller.order).toEqual(1);
});
});
describe('set clientFk', () => {
it(`should set addressFk to null and clientFk to a value`, () => {
controller.clientFk = 2;
expect(controller.clientFk).toEqual(2);
expect(controller.order.addressFk).toBe(null);
});
});
describe('set addressFk', () => {
it(`should set agencyModeFk property to null and addressFk to a value`, () => {
controller.addressFk = 101;
expect(controller.addressFk).toEqual(101);
expect(controller.order.agencyModeFk).toBe(null);
});
});
describe('getAvailableAgencies()', () => {
it(`should make a query if landed and addressFk exists`, () => {
controller.order.addressFk = 101;
controller.order.landed = 101;
let filter = {addressFk: controller.order.addressFk, landed: controller.order.landed};
filter = encodeURIComponent(JSON.stringify(filter));
$httpBackend.whenGET(`/api/Agencies/landsThatDay?filter=${filter}`).respond({data: 1});
$httpBackend.expectGET(`/api/Agencies/landsThatDay?filter=${filter}`);
controller.getAvailableAgencies();
$httpBackend.flush();
});
});
describe('onSubmit()', () => {
it(`should call createOrder()`, () => {
spyOn(controller, 'createOrder');
controller.onSubmit();
expect(controller.createOrder).toHaveBeenCalledWith();
});
});
describe('createOrder()', () => {
it(`should make a query, call vnApp.showSuccess and $state.go if the response is defined`, () => {
controller.order.landed = 101;
controller.order.addressFk = 101;
controller.order.agencyModeFk = 101;
spyOn(controller.vnApp, 'showSuccess');
spyOn(controller.$state, 'go');
$httpBackend.when('POST', 'order/api/Orders/new', {landed: 101, addressFk: 101, agencyModeFk: 101}).respond(200, 1);
$httpBackend.expect('POST', 'order/api/Orders/new', {landed: 101, addressFk: 101, agencyModeFk: 101});
controller.createOrder();
$httpBackend.flush();
expect(controller.vnApp.showSuccess).toHaveBeenCalledWith('Data saved!');
2018-09-12 09:08:48 +00:00
expect(controller.$state.go).toHaveBeenCalledWith("order.card.catalog", {id: 1});
});
});
});
});