Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix into 2092-ticket_isEditable_refactor
This commit is contained in:
commit
bd46f6a302
|
@ -32,3 +32,5 @@ rules:
|
|||
indent: [error, 4]
|
||||
arrow-parens: [error, as-needed]
|
||||
jasmine/no-focused-tests: 0
|
||||
no-multiple-empty-lines: ["error", { "max": 1, "maxEOF": 1 }]
|
||||
space-in-parens: ["error", "never"]
|
|
@ -24,8 +24,14 @@ module.exports = Self => {
|
|||
});
|
||||
|
||||
Self.sendCheckingPresence = async(ctx, workerId, message) => {
|
||||
if (!workerId) return false;
|
||||
|
||||
const models = Self.app.models;
|
||||
const account = await models.Account.findById(workerId);
|
||||
const userId = ctx.req.accessToken.userId;
|
||||
|
||||
if (!account)
|
||||
throw new Error(`Could not send message "${message}" to worker id ${workerId} from user ${userId}`);
|
||||
|
||||
const query = `SELECT worker_isWorking(?) isWorking`;
|
||||
const [result] = await Self.rawSql(query, [workerId]);
|
||||
|
@ -37,7 +43,7 @@ module.exports = Self => {
|
|||
}
|
||||
});
|
||||
const department = workerDepartment && workerDepartment.department();
|
||||
const channelName = department.chatName;
|
||||
const channelName = department && department.chatName;
|
||||
|
||||
if (channelName)
|
||||
return Self.send(ctx, `#${channelName}`, `@${account.name} => ${message}`);
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
ALTER TABLE `vn`.`sample`
|
||||
ADD COLUMN `hasPreview` TINYINT(1) UNSIGNED NOT NULL DEFAULT '1' AFTER `hasCompany`,
|
||||
CHANGE COLUMN `isVisible` `isVisible` TINYINT(1) UNSIGNED NOT NULL DEFAULT '1' ,
|
||||
CHANGE COLUMN `hasCompany` `hasCompany` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' ;
|
||||
|
||||
UPDATE `vn`.`sample` SET `hasPreview` = '0' WHERE (`id` = '14');
|
|
@ -511,14 +511,16 @@ export default {
|
|||
},
|
||||
ticketRequests: {
|
||||
addRequestButton: 'vn-ticket-request-index > a > vn-float-button > button',
|
||||
request: 'vn-ticket-request-index vn-table vn-tr',
|
||||
descriptionInput: 'vn-ticket-request-create [ng-model="$ctrl.ticketRequest.description"]',
|
||||
atender: 'vn-ticket-request-create vn-autocomplete[ng-model="$ctrl.ticketRequest.attenderFk"]',
|
||||
quantity: 'vn-ticket-request-create vn-input-number[ng-model="$ctrl.ticketRequest.quantity"]',
|
||||
price: 'vn-ticket-request-create vn-input-number[ng-model="$ctrl.ticketRequest.price"]',
|
||||
firstRemoveRequestButton: 'vn-ticket-request-index vn-icon[icon="delete"]:nth-child(1)',
|
||||
firstRequestQuantity: 'vn-ticket-request-index vn-table vn-tr:nth-child(1) > vn-td:nth-child(6) vn-input-number',
|
||||
secondRequestQuantity: 'vn-ticket-request-index vn-table vn-tr:nth-child(2) > vn-td:nth-child(6) vn-input-number',
|
||||
thirdDescription: 'vn-ticket-request-index vn-table vn-tr:nth-child(3) > vn-td:nth-child(2) vn-textfield',
|
||||
thirdRemoveRequestButton: 'vn-ticket-request-index vn-tr:nth-child(3) vn-icon[icon="delete"]',
|
||||
thirdRequestQuantity: 'vn-ticket-request-index vn-table vn-tr:nth-child(3) > vn-td:nth-child(6) vn-input-number',
|
||||
saveButton: 'vn-ticket-request-create button[type=submit]',
|
||||
firstDescription: 'vn-ticket-request-index vn-table vn-tr:nth-child(1) > vn-td:nth-child(2) vn-textfield',
|
||||
|
||||
},
|
||||
ticketLog: {
|
||||
|
|
|
@ -70,13 +70,13 @@ describe('Client Add address path', () => {
|
|||
});
|
||||
|
||||
it(`should confirm the new address exists and it's the default one`, async() => {
|
||||
await page.waitFor(2000); // needs more than a single second to load the section
|
||||
const result = await page.waitToGetProperty(selectors.clientAddresses.defaultAddress, 'innerText');
|
||||
|
||||
expect(result).toContain('320 Park Avenue New York');
|
||||
});
|
||||
|
||||
it(`should click on the make default icon of the second address`, async() => {
|
||||
await page.waitForContentLoaded();
|
||||
it('should click on the make default icon of the second address', async() => {
|
||||
await page.waitToClick(selectors.clientAddresses.secondMakeDefaultStar);
|
||||
const result = await page.waitForLastSnackbar();
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ describe('Ticket purchase request path', () => {
|
|||
browser = await getBrowser();
|
||||
page = browser.page;
|
||||
await page.loginAndModule('salesPerson', 'ticket');
|
||||
await page.accessToSearchResult('16');
|
||||
await page.accessToSearchResult('1');
|
||||
await page.accessToSection('ticket.card.request.index');
|
||||
});
|
||||
|
||||
|
@ -17,10 +17,10 @@ describe('Ticket purchase request path', () => {
|
|||
await browser.close();
|
||||
});
|
||||
|
||||
it(`should add a new request`, async() => {
|
||||
it('should add a new request', async() => {
|
||||
await page.waitToClick(selectors.ticketRequests.addRequestButton);
|
||||
await page.write(selectors.ticketRequests.descriptionInput, 'New stuff');
|
||||
await page.write(selectors.ticketRequests.quantity, '99');
|
||||
await page.write(selectors.ticketRequests.quantity, '9');
|
||||
await page.autocompleteSearch(selectors.ticketRequests.atender, 'buyerNick');
|
||||
await page.write(selectors.ticketRequests.price, '999');
|
||||
await page.waitToClick(selectors.ticketRequests.saveButton);
|
||||
|
@ -29,29 +29,52 @@ describe('Ticket purchase request path', () => {
|
|||
expect(result).toEqual('Data saved!');
|
||||
});
|
||||
|
||||
it(`should have been redirected to the request index`, async() => {
|
||||
it('should have been redirected to the request index', async() => {
|
||||
let url = await page.expectURL('/request');
|
||||
|
||||
expect(url).toBe(true);
|
||||
});
|
||||
|
||||
it(`should confirm the new request was added`, async() => {
|
||||
await page.reloadSection('ticket.card.request.index');
|
||||
const result = await page.waitToGetProperty(selectors.ticketRequests.firstDescription, 'value');
|
||||
|
||||
expect(result).toEqual('New stuff');
|
||||
});
|
||||
|
||||
it(`should delete the added request`, async() => {
|
||||
await page.waitToClick(selectors.ticketRequests.firstRemoveRequestButton);
|
||||
it(`should edit the third request quantity as it's state is still new`, async() => {
|
||||
await page.waitFor(2000); // looks like it needs more than a single second some times to load
|
||||
await page.write(selectors.ticketRequests.thirdRequestQuantity, '9');
|
||||
await page.keyboard.press('Enter');
|
||||
const result = await page.waitForLastSnackbar();
|
||||
|
||||
expect(result).toEqual('Data saved!');
|
||||
});
|
||||
|
||||
it(`should confirm the request was deleted`, async() => {
|
||||
it('should confirm the new request was added', async() => {
|
||||
await page.reloadSection('ticket.card.request.index');
|
||||
const result = await page.waitToGetProperty(selectors.ticketRequests.thirdRequestQuantity, 'value');
|
||||
|
||||
expect(result).toEqual('99');
|
||||
});
|
||||
|
||||
it(`should confirm first request can't be edited as its state is different to new`, async() => {
|
||||
await page.waitForClassPresent(selectors.ticketRequests.firstRequestQuantity, 'disabled');
|
||||
const result = await page.isDisabled(selectors.ticketRequests.firstRequestQuantity);
|
||||
|
||||
expect(result).toBe(true);
|
||||
});
|
||||
|
||||
it(`should confirm second request can't be edited as its state is different to new`, async() => {
|
||||
await page.waitForClassPresent(selectors.ticketRequests.secondRequestQuantity, 'disabled');
|
||||
const result = await page.isDisabled(selectors.ticketRequests.secondRequestQuantity);
|
||||
|
||||
expect(result).toBe(true);
|
||||
});
|
||||
|
||||
it('should delete the added request', async() => {
|
||||
await page.waitToClick(selectors.ticketRequests.thirdRemoveRequestButton);
|
||||
const result = await page.waitForLastSnackbar();
|
||||
|
||||
expect(result).toEqual('Data saved!');
|
||||
});
|
||||
|
||||
it('should confirm the request was deleted', async() => {
|
||||
await page.reloadSection('ticket.card.request.index');
|
||||
await page.wait(selectors.ticketRequests.addRequestButton);
|
||||
await page.waitForSelector(selectors.ticketRequests.request, {hidden: true});
|
||||
await page.waitForSelector(selectors.ticketRequests.thirdDescription, {hidden: true});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -16,7 +16,7 @@ describe('Component vnButtonMenu', () => {
|
|||
|
||||
describe('onButtonClick(event)', () => {
|
||||
it(`should emit the open event`, () => {
|
||||
spyOn(controller, 'emit');
|
||||
jest.spyOn(controller, 'emit');
|
||||
|
||||
let event = new MouseEvent('click', {
|
||||
view: controller.element.window,
|
||||
|
@ -31,7 +31,7 @@ describe('Component vnButtonMenu', () => {
|
|||
|
||||
describe('onDropDownSelect(value)', () => {
|
||||
it(`should set field to the given value and emit the change event`, () => {
|
||||
spyOn(controller, 'emit');
|
||||
jest.spyOn(controller, 'emit');
|
||||
controller.onDropDownSelect({name: 'Item name'});
|
||||
|
||||
expect(controller.field).toBe('Item name');
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
<section
|
||||
ng-repeat="day in ::$ctrl.weekDays"
|
||||
translate-attr="::{title: day.name}"
|
||||
ng-click="$ctrl.selectWeekDay(day.index)">
|
||||
ng-click="$ctrl.selectWeekDay($event, day.index)">
|
||||
<span>{{::day.localeChar}}</span>
|
||||
</section>
|
||||
</div>
|
||||
|
@ -38,7 +38,7 @@
|
|||
on-last="$ctrl.repeatLast()">
|
||||
<div
|
||||
class="day-number"
|
||||
ng-click="$ctrl.select(day)">
|
||||
ng-click="$ctrl.select($event, day)">
|
||||
{{::day | date: 'd'}}
|
||||
</div>
|
||||
</section>
|
||||
|
|
|
@ -127,10 +127,11 @@ export default class Calendar extends FormInput {
|
|||
/*
|
||||
* Day selection event
|
||||
*/
|
||||
select(day) {
|
||||
select($event, day) {
|
||||
if (!this.editable) return;
|
||||
this.change(day);
|
||||
this.emit('selection', {
|
||||
$event: $event,
|
||||
$days: [day],
|
||||
$type: 'day'
|
||||
});
|
||||
|
@ -140,7 +141,7 @@ export default class Calendar extends FormInput {
|
|||
/*
|
||||
* WeekDay selection event
|
||||
*/
|
||||
selectWeekDay(weekday) {
|
||||
selectWeekDay($event, weekday) {
|
||||
if (!this.editable) return;
|
||||
let days = [];
|
||||
for (let day of this.days) {
|
||||
|
@ -149,6 +150,7 @@ export default class Calendar extends FormInput {
|
|||
}
|
||||
this.field = days[0];
|
||||
this.emit('selection', {
|
||||
$event: $event,
|
||||
$days: days,
|
||||
$type: 'weekday',
|
||||
$weekday: weekday
|
||||
|
|
|
@ -20,7 +20,7 @@ describe('Component vnCalendar', () => {
|
|||
|
||||
describe('moveNext()', () => {
|
||||
it(`should shift to the next month, then emit a 'move' event`, () => {
|
||||
spyOn(controller, 'emit');
|
||||
jest.spyOn(controller, 'emit');
|
||||
let nextMonth = new Date(date.getTime());
|
||||
nextMonth.setMonth(nextMonth.getMonth() + 1);
|
||||
|
||||
|
@ -33,7 +33,7 @@ describe('Component vnCalendar', () => {
|
|||
|
||||
describe('movePrevious()', () => {
|
||||
it(`should shift to the previous month, then emit a 'move' event`, () => {
|
||||
spyOn(controller, 'emit');
|
||||
jest.spyOn(controller, 'emit');
|
||||
let previousMonth = new Date(date.getTime());
|
||||
previousMonth.setMonth(previousMonth.getMonth() - 1);
|
||||
|
||||
|
@ -46,13 +46,19 @@ describe('Component vnCalendar', () => {
|
|||
|
||||
describe('select()', () => {
|
||||
it(`should return the selected element, then emit a 'selection' event`, () => {
|
||||
spyOn(controller, 'emit');
|
||||
jest.spyOn(controller, 'emit');
|
||||
|
||||
const day = new Date();
|
||||
day.setHours(0, 0, 0, 0);
|
||||
controller.select(day);
|
||||
|
||||
const clickEvent = new Event('click');
|
||||
const target = document.createElement('div');
|
||||
target.dispatchEvent(clickEvent);
|
||||
|
||||
controller.select(clickEvent, day);
|
||||
|
||||
let res = {
|
||||
$event: clickEvent,
|
||||
$days: [day],
|
||||
$type: 'day'
|
||||
};
|
||||
|
|
|
@ -17,7 +17,7 @@ describe('Component vnChip', () => {
|
|||
describe('onRemove()', () => {
|
||||
it(`should emit remove event`, () => {
|
||||
controller.emit = () => {};
|
||||
spyOn(controller, 'emit');
|
||||
jest.spyOn(controller, 'emit');
|
||||
controller.onRemove();
|
||||
|
||||
expect(controller.emit).toHaveBeenCalledWith('remove');
|
||||
|
|
|
@ -25,8 +25,8 @@ describe('Component vnCrudModel', () => {
|
|||
});
|
||||
|
||||
describe('save()', () => {
|
||||
it('should make an HTTP post query and then update the original rows with the returned values', () => {
|
||||
spyOn(controller, 'applyChanges');
|
||||
it(`should make an HTTP post query and then update the original rows with the returned values`, () => {
|
||||
jest.spyOn(controller, 'applyChanges');
|
||||
|
||||
controller.insert({value: 'My new item 1'});
|
||||
controller.insert({value: 'My new item 2'});
|
||||
|
|
|
@ -30,7 +30,7 @@ describe('Component vnDialog', () => {
|
|||
|
||||
it(`should not hide the dialog when false is returned from response handler`, () => {
|
||||
controller.show(() => false);
|
||||
spyOn(controller, 'hide');
|
||||
jest.spyOn(controller, 'hide');
|
||||
controller.respond('answer');
|
||||
|
||||
expect(controller.hide).not.toHaveBeenCalled();
|
||||
|
@ -51,7 +51,7 @@ describe('Component vnDialog', () => {
|
|||
describe('respond()', () => {
|
||||
it(`should do nothing if dialog is already hidden`, () => {
|
||||
controller.onResponse = () => {};
|
||||
spyOn(controller, 'onResponse');
|
||||
jest.spyOn(controller, 'onResponse');
|
||||
controller.respond();
|
||||
|
||||
expect(controller.onResponse).not.toHaveBeenCalledWith();
|
||||
|
@ -59,7 +59,7 @@ describe('Component vnDialog', () => {
|
|||
|
||||
it(`should call onResponse() if it's defined`, () => {
|
||||
controller.onResponse = () => {};
|
||||
spyOn(controller, 'onResponse');
|
||||
jest.spyOn(controller, 'onResponse');
|
||||
|
||||
controller.show();
|
||||
controller.respond();
|
||||
|
@ -69,7 +69,7 @@ describe('Component vnDialog', () => {
|
|||
|
||||
it(`should call onResponse() with the response`, () => {
|
||||
controller.onResponse = () => {};
|
||||
spyOn(controller, 'onResponse');
|
||||
jest.spyOn(controller, 'onResponse');
|
||||
|
||||
controller.show();
|
||||
controller.respond('response');
|
||||
|
@ -79,7 +79,7 @@ describe('Component vnDialog', () => {
|
|||
|
||||
it(`should call onAccept() when accept response is given`, () => {
|
||||
controller.onAccept = () => {};
|
||||
spyOn(controller, 'onAccept');
|
||||
jest.spyOn(controller, 'onAccept');
|
||||
|
||||
controller.show();
|
||||
controller.respond('accept');
|
||||
|
|
|
@ -20,7 +20,7 @@ describe('Component vnMultiCheck', () => {
|
|||
|
||||
describe('checked() setter', () => {
|
||||
it(`should set controller _checked property with the argument received then call toggle()`, () => {
|
||||
spyOn(controller, 'toggle');
|
||||
jest.spyOn(controller, 'toggle');
|
||||
controller.checked = crudModel;
|
||||
|
||||
expect(controller._checked).toEqual(crudModel);
|
||||
|
|
|
@ -37,6 +37,22 @@ export default class Popover extends Popup {
|
|||
super.hide();
|
||||
}
|
||||
|
||||
get parent() {
|
||||
return this.__parent;
|
||||
}
|
||||
|
||||
// Bug #2147 Popover loses parent location
|
||||
set parent(value) {
|
||||
this.__parent = value;
|
||||
|
||||
if (!value) return;
|
||||
|
||||
const parentRect = value.getBoundingClientRect();
|
||||
this.parentRect = {};
|
||||
for (let prop in parentRect)
|
||||
this.parentRect[prop] = parentRect[prop];
|
||||
}
|
||||
|
||||
/**
|
||||
* Repositions the popover to a correct location relative to the parent.
|
||||
*/
|
||||
|
@ -55,7 +71,7 @@ export default class Popover extends Popup {
|
|||
arrowStyle.top = '';
|
||||
arrowStyle.bottom = '';
|
||||
|
||||
let parentRect = this.parent.getBoundingClientRect();
|
||||
let parentRect = this.parentRect;
|
||||
let popoverRect = this.windowEl.getBoundingClientRect();
|
||||
let arrowRect = arrow.getBoundingClientRect();
|
||||
let clamp = (value, min, max) => Math.min(Math.max(value, min), max);
|
||||
|
|
|
@ -22,7 +22,7 @@ describe('Component vnPopover', () => {
|
|||
|
||||
describe('show()', () => {
|
||||
it(`should enable the shown property and emit the open event`, () => {
|
||||
spyOn(controller, 'emit');
|
||||
jest.spyOn(controller, 'emit');
|
||||
controller.show();
|
||||
|
||||
expect(controller.shown).toBeTruthy();
|
||||
|
@ -31,7 +31,7 @@ describe('Component vnPopover', () => {
|
|||
|
||||
it(`should do nothing if it's already shown`, () => {
|
||||
controller.shown = true;
|
||||
spyOn(controller, 'emit');
|
||||
jest.spyOn(controller, 'emit');
|
||||
controller.show();
|
||||
|
||||
expect(controller.emit).not.toHaveBeenCalledWith('open');
|
||||
|
@ -65,7 +65,7 @@ describe('Component vnPopover', () => {
|
|||
describe('hide()', () => {
|
||||
it(`should disable the shown property and emit the close event`, inject($timeout => {
|
||||
controller.show();
|
||||
spyOn(controller, 'emit');
|
||||
jest.spyOn(controller, 'emit');
|
||||
controller.hide();
|
||||
$timeout.flush();
|
||||
|
||||
|
@ -75,7 +75,7 @@ describe('Component vnPopover', () => {
|
|||
|
||||
it(`should do nothing if it's already hidden`, () => {
|
||||
controller.shown = false;
|
||||
spyOn(controller, 'emit');
|
||||
jest.spyOn(controller, 'emit');
|
||||
controller.hide();
|
||||
|
||||
expect(controller.emit).not.toHaveBeenCalledWith('close');
|
||||
|
|
|
@ -139,7 +139,7 @@ describe('Component vnSearchbar', () => {
|
|||
|
||||
describe('doSearch()', () => {
|
||||
it(`should go to the search state and pass the filter as query param`, () => {
|
||||
spyOn($state, 'go');
|
||||
jest.spyOn($state, 'go');
|
||||
controller.searchState = 'search.state';
|
||||
controller.doSearch(filter);
|
||||
|
||||
|
|
|
@ -17,14 +17,14 @@ describe('Component vnSpinner', () => {
|
|||
|
||||
describe('enable()', () => {
|
||||
it(`should call start() when enable is set to true`, () => {
|
||||
spyOn(controller, 'start');
|
||||
jest.spyOn(controller, 'start');
|
||||
controller.enable = true;
|
||||
|
||||
expect(controller.start).toHaveBeenCalledWith();
|
||||
});
|
||||
|
||||
it(`should call stop() when enable is set to false`, () => {
|
||||
spyOn(controller, 'stop');
|
||||
jest.spyOn(controller, 'stop');
|
||||
controller.enable = false;
|
||||
|
||||
expect(controller.stop).toHaveBeenCalledWith();
|
||||
|
|
|
@ -8,7 +8,7 @@ describe('Component vnStepControl', () => {
|
|||
|
||||
beforeEach(angular.mock.inject(($componentController, _$state_) => {
|
||||
$state = _$state_;
|
||||
spyOn($state, 'go');
|
||||
jest.spyOn($state, 'go');
|
||||
controller = $componentController('vnStepControl', {$state: $state});
|
||||
}));
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ describe('Component vnTh', () => {
|
|||
describe('onInit()', () => {
|
||||
it(`should define controllers order as per defaultOrder then call setOrder()`, () => {
|
||||
controller.defaultOrder = 'DESC';
|
||||
spyOn(controller.table, 'setOrder');
|
||||
jest.spyOn(controller.table, 'setOrder');
|
||||
controller.$onInit();
|
||||
|
||||
expect(controller.order).toEqual('DESC');
|
||||
|
@ -44,7 +44,7 @@ describe('Component vnTh', () => {
|
|||
});
|
||||
|
||||
it(`should call the setOrder() function after changing a value`, () => {
|
||||
spyOn(controller.table, 'setOrder');
|
||||
jest.spyOn(controller.table, 'setOrder');
|
||||
controller.order = 'Change me!';
|
||||
|
||||
expect(controller.table.setOrder).toHaveBeenCalledWith('MyField', 'Change me!');
|
||||
|
@ -54,7 +54,7 @@ describe('Component vnTh', () => {
|
|||
describe('onToggleOrder()', () => {
|
||||
it(`should not call updateArrow() method if field property isn't defined`, () => {
|
||||
controller.column.setAttribute('field', '');
|
||||
spyOn(controller, 'updateArrow');
|
||||
jest.spyOn(controller, 'updateArrow');
|
||||
|
||||
controller.onToggleOrder();
|
||||
|
||||
|
@ -64,8 +64,8 @@ describe('Component vnTh', () => {
|
|||
it(`should call toggleOrder() method if field property and
|
||||
table field property equals and then call updateArrow()`, () => {
|
||||
controller.table.field = 'MyField';
|
||||
spyOn(controller, 'toggleOrder');
|
||||
spyOn(controller, 'updateArrow');
|
||||
jest.spyOn(controller, 'toggleOrder');
|
||||
jest.spyOn(controller, 'updateArrow');
|
||||
|
||||
controller.onToggleOrder();
|
||||
|
||||
|
@ -76,8 +76,8 @@ describe('Component vnTh', () => {
|
|||
it(`should call setOrder() method if field property and
|
||||
table field property doesn't equals and then call updateArrow()`, () => {
|
||||
controller.table.field = 'MyField2';
|
||||
spyOn(controller.table, 'setOrder');
|
||||
spyOn(controller, 'updateArrow');
|
||||
jest.spyOn(controller.table, 'setOrder');
|
||||
jest.spyOn(controller, 'updateArrow');
|
||||
|
||||
controller.onToggleOrder();
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ describe('Component vnTreeview', () => {
|
|||
xdescribe('undrop()', () => {
|
||||
it(`should reset all drop events and properties`, () => {
|
||||
controller.dropping = angular.element(`<vn-treeview-child class="dropping"></vn-treeview-child>`);
|
||||
spyOn(controller.dropping.classList, 'remove');
|
||||
jest.spyOn(controller.dropping.classList, 'remove');
|
||||
|
||||
controller.undrop();
|
||||
|
||||
|
@ -69,9 +69,7 @@ describe('Component vnTreeview', () => {
|
|||
|
||||
describe('fetch()', () => {
|
||||
it(`should call the fetchFunc() method`, () => {
|
||||
spyOn(controller, 'fetchFunc').and.returnValue(
|
||||
new Promise(resolve => resolve([{name: 'My item'}]))
|
||||
);
|
||||
jest.spyOn(controller, 'fetchFunc');
|
||||
controller.fetch().then(() => {
|
||||
expect(controller.data).toBeDefined();
|
||||
});
|
||||
|
@ -82,7 +80,7 @@ describe('Component vnTreeview', () => {
|
|||
|
||||
describe('setParent()', () => {
|
||||
it(`should set the parent property recursively to each element of an item list`, () => {
|
||||
spyOn(controller, 'setParent').and.callThrough();
|
||||
jest.spyOn(controller, 'setParent');
|
||||
const items = [{name: 'Item1'}, {name: 'Item2', childs: [
|
||||
{name: 'Item3'}
|
||||
]}];
|
||||
|
@ -97,8 +95,8 @@ describe('Component vnTreeview', () => {
|
|||
|
||||
describe('onToggle()', () => {
|
||||
it(`should call the fold() or unfold() methods`, () => {
|
||||
spyOn(controller, 'fold');
|
||||
spyOn(controller, 'unfold');
|
||||
jest.spyOn(controller, 'fold');
|
||||
jest.spyOn(controller, 'unfold');
|
||||
|
||||
let event = new MouseEvent('click', {
|
||||
bubbles: true,
|
||||
|
@ -130,11 +128,9 @@ describe('Component vnTreeview', () => {
|
|||
describe('unfold()', () => {
|
||||
it(`should unfold a parent item`, () => {
|
||||
const expectedResponse = [{name: 'Item 1'}, {name: 'Item 2'}];
|
||||
spyOn(controller, 'fetchFunc').and.returnValue(
|
||||
new Promise(resolve => resolve(expectedResponse))
|
||||
);
|
||||
spyOn(controller, 'setParent');
|
||||
spyOn(controller, 'sortFunc');
|
||||
jest.spyOn(controller, 'fetchFunc');
|
||||
jest.spyOn(controller, 'setParent');
|
||||
jest.spyOn(controller, 'sortFunc');
|
||||
const parent = {name: 'My item', sons: 1};
|
||||
const child = {name: 'Item 1'};
|
||||
child.parent = parent;
|
||||
|
@ -157,7 +153,7 @@ describe('Component vnTreeview', () => {
|
|||
view: window
|
||||
});
|
||||
|
||||
spyOn(controller, 'removeFunc');
|
||||
jest.spyOn(controller, 'removeFunc');
|
||||
const item = {name: 'My item'};
|
||||
controller.onRemove(event, item);
|
||||
|
||||
|
@ -187,7 +183,7 @@ describe('Component vnTreeview', () => {
|
|||
view: window
|
||||
});
|
||||
|
||||
spyOn(controller, 'createFunc');
|
||||
jest.spyOn(controller, 'createFunc');
|
||||
const parent = {name: 'My item'};
|
||||
controller.onCreate(event, parent);
|
||||
|
||||
|
@ -197,8 +193,8 @@ describe('Component vnTreeview', () => {
|
|||
|
||||
describe('create()', () => {
|
||||
it(`should unfold an inactive parent and then create a child`, () => {
|
||||
spyOn(controller, 'unfold');
|
||||
spyOn(controller, 'sortFunc');
|
||||
jest.spyOn(controller, 'unfold');
|
||||
jest.spyOn(controller, 'sortFunc');
|
||||
const parent = {name: 'My item', sons: 2, childs: [
|
||||
{name: 'Item 1'},
|
||||
{name: 'Item 2'}
|
||||
|
@ -216,8 +212,8 @@ describe('Component vnTreeview', () => {
|
|||
});
|
||||
|
||||
it(`should create a child on an active parent`, () => {
|
||||
spyOn(controller, 'unfold');
|
||||
spyOn(controller, 'sortFunc');
|
||||
jest.spyOn(controller, 'unfold');
|
||||
jest.spyOn(controller, 'sortFunc');
|
||||
const parent = {name: 'My item', sons: 2, childs: [
|
||||
{name: 'Item 1'},
|
||||
{name: 'Item 2'}
|
||||
|
@ -236,9 +232,7 @@ describe('Component vnTreeview', () => {
|
|||
|
||||
describe('move()', () => {
|
||||
it(`should move an item to anocher parent and then unfold the parent`, () => {
|
||||
spyOn(controller, 'unfold').and.returnValue(
|
||||
new Promise(resolve => resolve())
|
||||
);
|
||||
jest.spyOn(controller, 'unfold');
|
||||
const newParent = {name: 'My item 2', sons: 0};
|
||||
const parent = {name: 'My item', sons: 3, childs: [
|
||||
{name: 'Item 1'},
|
||||
|
@ -255,8 +249,8 @@ describe('Component vnTreeview', () => {
|
|||
});
|
||||
|
||||
it(`should move an item to anocher parent`, () => {
|
||||
spyOn(controller, 'unfold');
|
||||
spyOn(controller, 'create');
|
||||
jest.spyOn(controller, 'unfold');
|
||||
jest.spyOn(controller, 'create');
|
||||
const newParent = {name: 'My item 2', sons: 0, active: true};
|
||||
const parent = {name: 'My item', sons: 3, childs: [
|
||||
{name: 'Item 1'},
|
||||
|
|
|
@ -25,10 +25,10 @@ describe('Component vnWatcher', () => {
|
|||
}));
|
||||
|
||||
describe('$onInit()', () => {
|
||||
it(`should call fetchData() if controllers get and url properties are defined`, () => {
|
||||
it('should call fetchData() if controllers get and url properties are defined', () => {
|
||||
controller.get = () => {};
|
||||
controller.url = 'test.com';
|
||||
spyOn(controller, 'fetchData');
|
||||
jest.spyOn(controller, 'fetchData').mockReturnThis();
|
||||
controller.$onInit();
|
||||
|
||||
expect(controller.fetchData).toHaveBeenCalledWith();
|
||||
|
@ -45,7 +45,7 @@ describe('Component vnWatcher', () => {
|
|||
|
||||
describe('fetchData()', () => {
|
||||
it(`should perform a query then store the received data into controller.data and call updateOriginalData()`, () => {
|
||||
spyOn(controller, 'updateOriginalData');
|
||||
jest.spyOn(controller, 'updateOriginalData');
|
||||
let json = {data: 'some data'};
|
||||
controller.data = [1];
|
||||
controller.idField = 0;
|
||||
|
@ -61,9 +61,9 @@ describe('Component vnWatcher', () => {
|
|||
});
|
||||
|
||||
describe('submitBack()', () => {
|
||||
it(`should call controller.window.history.back() function after calling controllers submit() function`, done => {
|
||||
spyOn(controller, 'submit').and.returnValue(Promise.resolve());
|
||||
spyOn(controller.window.history, 'back');
|
||||
it('should call controller.window.history.back() function after calling controllers submit() function', done => {
|
||||
jest.spyOn(controller, 'submit').mockReturnValue(Promise.resolve());
|
||||
jest.spyOn(controller.window.history, 'back');
|
||||
controller.submitBack()
|
||||
.then(() => {
|
||||
expect(controller.submit).toHaveBeenCalledWith();
|
||||
|
@ -74,9 +74,9 @@ describe('Component vnWatcher', () => {
|
|||
});
|
||||
|
||||
describe('submitGo()', () => {
|
||||
it(`should call controller.$state.go() function after calling controllers submit() function`, done => {
|
||||
spyOn(controller, 'submit').and.returnValue(Promise.resolve());
|
||||
spyOn(controller.$state, 'go');
|
||||
it('should call controller.$state.go() function after calling controllers submit() function', done => {
|
||||
jest.spyOn(controller, 'submit').mockReturnValue(Promise.resolve());
|
||||
jest.spyOn(controller.$state, 'go');
|
||||
let state = 'the.State';
|
||||
controller.submitGo(state)
|
||||
.then(() => {
|
||||
|
@ -112,7 +112,7 @@ describe('Component vnWatcher', () => {
|
|||
$setSubmitted: () => {},
|
||||
$setPristine: () => {}
|
||||
};
|
||||
spyOn(controller.form, '$setSubmitted');
|
||||
jest.spyOn(controller.form, '$setSubmitted');
|
||||
controller.realSubmit();
|
||||
|
||||
expect(controller.form.$setSubmitted).toHaveBeenCalledWith();
|
||||
|
@ -141,7 +141,7 @@ describe('Component vnWatcher', () => {
|
|||
controller.idField = 'id';
|
||||
controller.url = 'test.com';
|
||||
let json = {data: 'some data'};
|
||||
spyOn(controller, 'writeData').and.callThrough();
|
||||
jest.spyOn(controller, 'writeData');
|
||||
$httpBackend.whenPATCH(`${controller.url}/1`, changedData).respond(json);
|
||||
$httpBackend.expectPATCH(`${controller.url}/1`);
|
||||
controller.realSubmit()
|
||||
|
@ -161,7 +161,7 @@ describe('Component vnWatcher', () => {
|
|||
controller.orgData = {id: 1};
|
||||
controller.url = 'test.com';
|
||||
let json = {data: 'some data'};
|
||||
spyOn(controller, 'writeData').and.callThrough();
|
||||
jest.spyOn(controller, 'writeData');
|
||||
$httpBackend.whenPOST(`${controller.url}`, controller.data).respond(json);
|
||||
$httpBackend.expectPOST(`${controller.url}`, controller.data);
|
||||
controller.realSubmit()
|
||||
|
@ -175,7 +175,7 @@ describe('Component vnWatcher', () => {
|
|||
|
||||
describe('writeData()', () => {
|
||||
it(`should call Object.asssign() function over controllers.data with json.data, then call updateOriginalData function and finally call resolve() function`, () => {
|
||||
spyOn(controller, 'updateOriginalData');
|
||||
jest.spyOn(controller, 'updateOriginalData');
|
||||
controller.data = {};
|
||||
let json = {data: 'some data'};
|
||||
let resolve = jasmine.createSpy('resolve');
|
||||
|
|
|
@ -24,7 +24,7 @@ describe('Directive dialog', () => {
|
|||
|
||||
it('should call show() function if dialog is a instance of vnDialog', () => {
|
||||
let html = `<div vn-dialog="myDialog"></div>`;
|
||||
spyOn(controller, 'show');
|
||||
jest.spyOn(controller, 'show');
|
||||
compile(html);
|
||||
element[0].click();
|
||||
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
const popover = {
|
||||
show: () => {
|
||||
return {
|
||||
then: callback => {
|
||||
callback();
|
||||
}
|
||||
};
|
||||
},
|
||||
hide: () => {
|
||||
return {
|
||||
then: callback => {
|
||||
callback();
|
||||
}
|
||||
};
|
||||
},
|
||||
relocate: () => {
|
||||
return {
|
||||
then: callback => {
|
||||
callback();
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = popover;
|
|
@ -26,7 +26,7 @@ describe('Component vnLeftMenu', () => {
|
|||
|
||||
describe('depth() setter', () => {
|
||||
it(`should set depth property and call activateItem()`, () => {
|
||||
spyOn(controller, 'activateItem');
|
||||
jest.spyOn(controller, 'activateItem');
|
||||
controller.depth = 3;
|
||||
|
||||
expect(controller.depth).toEqual(3);
|
||||
|
|
|
@ -36,8 +36,8 @@ describe('claim', () => {
|
|||
describe('openAddSalesDialog()', () => {
|
||||
it('should call getClaimableFromTicket and $.addSales.show', () => {
|
||||
controller.$ = {addSales: {show: () => {}}};
|
||||
spyOn(controller, 'getClaimedSales');
|
||||
spyOn(controller.$.addSales, 'show');
|
||||
jest.spyOn(controller, 'getClaimedSales');
|
||||
jest.spyOn(controller.$.addSales, 'show');
|
||||
controller.openAddSalesDialog();
|
||||
|
||||
expect(controller.getClaimedSales).toHaveBeenCalledWith();
|
||||
|
@ -58,9 +58,9 @@ describe('claim', () => {
|
|||
|
||||
describe('addClaimedSale(saleFk)', () => {
|
||||
it('should make a post and call refresh, hide and showSuccess', () => {
|
||||
spyOn(controller.$.model, 'refresh');
|
||||
spyOn(controller.$.addSales, 'hide');
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller.$.model, 'refresh');
|
||||
jest.spyOn(controller.$.addSales, 'hide');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
$httpBackend.expectPOST(`ClaimEnds/`).respond({});
|
||||
controller.addClaimedSale(1);
|
||||
$httpBackend.flush();
|
||||
|
@ -73,8 +73,8 @@ describe('claim', () => {
|
|||
|
||||
describe('deleteClaimedSale(id)', () => {
|
||||
it('should make a delete and call refresh and showSuccess', () => {
|
||||
spyOn(controller.$.model, 'refresh');
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller.$.model, 'refresh');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
$httpBackend.expectDELETE(`ClaimEnds/1`).respond({});
|
||||
controller.deleteClaimedSale(1);
|
||||
$httpBackend.flush();
|
||||
|
@ -99,8 +99,8 @@ describe('claim', () => {
|
|||
|
||||
describe('importToNewRefundTicket()', () => {
|
||||
it('should perform a post query and add lines from a new ticket', () => {
|
||||
spyOn(controller.$.model, 'refresh');
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller.$.model, 'refresh');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
$httpBackend.expect('POST', `ClaimBeginnings/1/importToNewRefundTicket`).respond({});
|
||||
controller.importToNewRefundTicket();
|
||||
$httpBackend.flush();
|
||||
|
@ -112,8 +112,8 @@ describe('claim', () => {
|
|||
|
||||
describe('showLastTickets()', () => {
|
||||
it('should get a list of tickets and call lastTicketsPopover show() method', () => {
|
||||
spyOn(controller.$.lastTicketsModel, 'refresh');
|
||||
spyOn(controller.$.lastTicketsPopover, 'show');
|
||||
jest.spyOn(controller.$.lastTicketsModel, 'refresh');
|
||||
jest.spyOn(controller.$.lastTicketsPopover, 'show');
|
||||
controller.showLastTickets({});
|
||||
|
||||
expect(controller.$.lastTicketsModel.refresh).toHaveBeenCalledWith();
|
||||
|
@ -123,9 +123,9 @@ describe('claim', () => {
|
|||
|
||||
describe('importTicketLines()', () => {
|
||||
it('should perform a post query and add lines from an existent ticket', () => {
|
||||
spyOn(controller.$.model, 'refresh');
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
spyOn(controller.$.lastTicketsPopover, 'hide');
|
||||
jest.spyOn(controller.$.model, 'refresh');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller.$.lastTicketsPopover, 'hide');
|
||||
let data = {claimFk: 1, ticketFk: 1};
|
||||
$httpBackend.expect('POST', `ClaimEnds/importTicketSales`, data).respond({});
|
||||
controller.importTicketLines(1);
|
||||
|
@ -139,8 +139,8 @@ describe('claim', () => {
|
|||
|
||||
describe('regularize()', () => {
|
||||
it('should perform a post query and reload the claim card', () => {
|
||||
spyOn(controller.card, 'reload');
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller.card, 'reload');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
|
||||
let data = {claimFk: $state.params.id};
|
||||
$httpBackend.expect('POST', `Claims/regularizeClaim`, data).respond({});
|
||||
|
@ -156,9 +156,9 @@ describe('claim', () => {
|
|||
const greugeTypeId = 7;
|
||||
const freightPickUpPrice = 11;
|
||||
it('should do nothing', () => {
|
||||
spyOn(controller.$http, 'post');
|
||||
spyOn(controller.card, 'reload');
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller.$http, 'post');
|
||||
jest.spyOn(controller.card, 'reload');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
|
||||
controller.onUpdateGreugeResponse('cancel');
|
||||
|
||||
|
@ -168,8 +168,8 @@ describe('claim', () => {
|
|||
});
|
||||
|
||||
it('should make a query and get the greugeTypeId and greuge config', () => {
|
||||
spyOn(controller.card, 'reload');
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller.card, 'reload');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
|
||||
const greugeTypeParams = $httpParamSerializer({filter: {where: {code: 'freightPickUp'}}});
|
||||
$httpBackend.expect('GET', `GreugeTypes/findOne?${greugeTypeParams}`).respond({id: greugeTypeId});
|
||||
|
@ -183,13 +183,13 @@ describe('claim', () => {
|
|||
|
||||
// #1957 - Investigate how to test nested httpBackend requests
|
||||
xit('should perform a insert into greuges', () => {
|
||||
spyOn(controller.card, 'reload');
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller.card, 'reload');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
|
||||
spyOn(controller, 'getGreugeTypeId').and.returnValue(new Promise(resolve => {
|
||||
jest.spyOn(controller, 'getGreugeTypeId').and.returnValue(new Promise(resolve => {
|
||||
return resolve({id: greugeTypeId});
|
||||
}));
|
||||
spyOn(controller, 'getGreugeConfig').and.returnValue(new Promise(resolve => {
|
||||
jest.spyOn(controller, 'getGreugeConfig').and.returnValue(new Promise(resolve => {
|
||||
return resolve({freightPickUpPrice});
|
||||
}));
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ describe('Claim', () => {
|
|||
|
||||
describe('onSubmit()', () => {
|
||||
it(`should redirect to 'claim.card.detail' state`, () => {
|
||||
spyOn(controller.$state, 'go');
|
||||
jest.spyOn(controller.$state, 'go');
|
||||
controller.onSubmit();
|
||||
|
||||
expect(controller.$state.go).toHaveBeenCalledWith('claim.card.detail');
|
||||
|
|
|
@ -22,7 +22,7 @@ describe('Item Component vnClaimDescriptor', () => {
|
|||
};
|
||||
const serializedParams = $httpParamSerializer(params);
|
||||
let expectedPath = `api/report/claim-pickup-order?${serializedParams}`;
|
||||
spyOn(window, 'open');
|
||||
jest.spyOn(window, 'open').mockReturnThis();
|
||||
controller.showPickupOrder();
|
||||
|
||||
expect(window.open).toHaveBeenCalledWith(expectedPath);
|
||||
|
@ -43,7 +43,7 @@ describe('Item Component vnClaimDescriptor', () => {
|
|||
|
||||
describe('sendPickupOrder(response)', () => {
|
||||
it('should make a query and call vnApp.showMessage() if the response is accept', () => {
|
||||
spyOn(controller.vnApp, 'showMessage');
|
||||
jest.spyOn(controller.vnApp, 'showMessage');
|
||||
|
||||
const params = {
|
||||
recipient: 'client@email',
|
||||
|
@ -78,8 +78,8 @@ describe('Item Component vnClaimDescriptor', () => {
|
|||
let response = 'accept';
|
||||
controller.claim = {id: 2};
|
||||
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
spyOn(controller.$state, 'go');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller.$state, 'go');
|
||||
$httpBackend.when('DELETE', `Claims/2`).respond(200);
|
||||
$httpBackend.expect('DELETE', `Claims/2`);
|
||||
controller.deleteClaim(response);
|
||||
|
|
|
@ -37,8 +37,8 @@ describe('claim', () => {
|
|||
|
||||
describe('openAddSalesDialog()', () => {
|
||||
it('should call getClaimableFromTicket and $.addSales.show', () => {
|
||||
spyOn(controller, 'getClaimableFromTicket');
|
||||
spyOn(controller.$.addSales, 'show');
|
||||
jest.spyOn(controller, 'getClaimableFromTicket');
|
||||
jest.spyOn(controller.$.addSales, 'show');
|
||||
controller.openAddSalesDialog();
|
||||
|
||||
expect(controller.getClaimableFromTicket).toHaveBeenCalledWith();
|
||||
|
@ -58,8 +58,8 @@ describe('claim', () => {
|
|||
|
||||
describe('addClaimedSale(index)', () => {
|
||||
it('should make a post and call refresh, hide and showSuccess', () => {
|
||||
spyOn(controller.$.addSales, 'hide');
|
||||
spyOn(controller.$state, 'go');
|
||||
jest.spyOn(controller.$.addSales, 'hide');
|
||||
jest.spyOn(controller.$state, 'go');
|
||||
$httpBackend.expectPOST(`ClaimBeginnings/`).respond({});
|
||||
controller.addClaimedSale(1);
|
||||
$httpBackend.flush();
|
||||
|
@ -71,7 +71,7 @@ describe('claim', () => {
|
|||
|
||||
describe('deleteClaimedSale(index)', () => {
|
||||
it('should make a delete and call refresh and showSuccess', () => {
|
||||
spyOn(controller.$.model, 'remove');
|
||||
jest.spyOn(controller.$.model, 'remove');
|
||||
$httpBackend.expectDELETE(`ClaimBeginnings/1`).respond({});
|
||||
controller.deleteClaimedSale(0);
|
||||
$httpBackend.flush();
|
||||
|
@ -82,7 +82,7 @@ describe('claim', () => {
|
|||
|
||||
describe('setClaimedQuantity(id, claimedQuantity)', () => {
|
||||
it('should make a patch and call refresh and showSuccess', () => {
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
$httpBackend.expectPATCH(`ClaimBeginnings/`).respond({});
|
||||
controller.setClaimedQuantity(1, 1);
|
||||
$httpBackend.flush();
|
||||
|
@ -112,10 +112,10 @@ describe('claim', () => {
|
|||
controller.newDiscount = 10;
|
||||
|
||||
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
spyOn(controller, 'calculateTotals');
|
||||
spyOn(controller, 'clearDiscount');
|
||||
spyOn(controller.$.editPopover, 'hide');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller, 'calculateTotals');
|
||||
jest.spyOn(controller, 'clearDiscount');
|
||||
jest.spyOn(controller.$.editPopover, 'hide');
|
||||
|
||||
$httpBackend.when('POST', 'Tickets/1/updateDiscount').respond({});
|
||||
controller.updateDiscount();
|
||||
|
@ -135,8 +135,8 @@ describe('claim', () => {
|
|||
stopImmediatePropagation: () => {},
|
||||
target: 'the target element'
|
||||
};
|
||||
spyOn(event, 'stopImmediatePropagation');
|
||||
spyOn(controller.$.descriptor, 'show');
|
||||
jest.spyOn(event, 'stopImmediatePropagation');
|
||||
jest.spyOn(controller.$.descriptor, 'show');
|
||||
|
||||
controller.showItemDescriptor(event, itemId);
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ describe('Claim', () => {
|
|||
|
||||
describe('onSubmit()', () => {
|
||||
it(`should redirect to 'claim.card.action' state`, () => {
|
||||
spyOn(controller.$state, 'go');
|
||||
jest.spyOn(controller.$state, 'go');
|
||||
controller.onSubmit();
|
||||
|
||||
expect(controller.$state.go).toHaveBeenCalledWith('claim.card.action');
|
||||
|
|
|
@ -28,8 +28,8 @@ describe('Claim', () => {
|
|||
it('should make an HTTP Post query', () => {
|
||||
const dmsId = 1;
|
||||
const dmsIndex = 0;
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
spyOn(controller.$.model, 'remove');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller.$.model, 'remove');
|
||||
controller.photos = [{dmsFk: 1}];
|
||||
controller.dmsIndex = dmsIndex;
|
||||
|
||||
|
@ -62,8 +62,8 @@ describe('Claim', () => {
|
|||
it('should make an HTTP Post query, then refresh the model data', () => {
|
||||
const claimId = 1;
|
||||
const dmsIndex = 0;
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
spyOn(controller.$.model, 'refresh');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller.$.model, 'refresh');
|
||||
controller.photos = [{dmsFk: 1}];
|
||||
controller.dmsIndex = dmsIndex;
|
||||
controller.dms = {files: []};
|
||||
|
|
|
@ -28,7 +28,7 @@ describe('Claim', () => {
|
|||
|
||||
describe('$onChanges()', () => {
|
||||
it('should call getSummary when item.id is defined', () => {
|
||||
spyOn(controller, 'getSummary');
|
||||
jest.spyOn(controller, 'getSummary');
|
||||
controller.$onChanges();
|
||||
|
||||
expect(controller.getSummary).toHaveBeenCalledWith();
|
||||
|
|
|
@ -22,7 +22,10 @@
|
|||
"type": "Boolean"
|
||||
},
|
||||
"hasCompany": {
|
||||
"type": "Number"
|
||||
"type": "Boolean"
|
||||
},
|
||||
"hasPreview": {
|
||||
"type": "Boolean"
|
||||
}
|
||||
},
|
||||
"scopes": {
|
||||
|
|
|
@ -35,7 +35,7 @@ describe('Client', () => {
|
|||
|
||||
describe('onSubmit()', () => {
|
||||
it('should perform a PATCH and not set value to defaultAddressFk property', () => {
|
||||
spyOn(controller.$state, 'go');
|
||||
jest.spyOn(controller.$state, 'go');
|
||||
controller.address.isDefaultAddress = false;
|
||||
controller.onSubmit();
|
||||
|
||||
|
@ -44,7 +44,7 @@ describe('Client', () => {
|
|||
});
|
||||
|
||||
it('should perform a PATCH and set a value to defaultAddressFk property', () => {
|
||||
spyOn(controller.$state, 'go');
|
||||
jest.spyOn(controller.$state, 'go');
|
||||
controller.address.isDefaultAddress = true;
|
||||
controller.onSubmit();
|
||||
|
||||
|
|
|
@ -36,8 +36,8 @@ describe('Client', () => {
|
|||
|
||||
describe('removeObservation()', () => {
|
||||
it('should call $.watcher.setDirty() and $.model.remove(index)', () => {
|
||||
spyOn(controller.$.watcher, 'setDirty');
|
||||
spyOn(controller.$.model, 'remove');
|
||||
jest.spyOn(controller.$.watcher, 'setDirty');
|
||||
jest.spyOn(controller.$.model, 'remove');
|
||||
controller.removeObservation(1);
|
||||
|
||||
expect(controller.$.model.remove).toHaveBeenCalledWith(1);
|
||||
|
@ -47,7 +47,7 @@ describe('Client', () => {
|
|||
|
||||
describe('cancel()', () => {
|
||||
it('should call goToIndex()', () => {
|
||||
spyOn(controller, 'goToIndex');
|
||||
jest.spyOn(controller, 'goToIndex');
|
||||
controller.cancel();
|
||||
|
||||
expect(controller.goToIndex).toHaveBeenCalledWith();
|
||||
|
@ -56,7 +56,7 @@ describe('Client', () => {
|
|||
|
||||
describe('goToIndex()', () => {
|
||||
it('should call $state.go("client.card.address.index")', () => {
|
||||
spyOn(controller.$state, 'go');
|
||||
jest.spyOn(controller.$state, 'go');
|
||||
controller.goToIndex();
|
||||
|
||||
expect(controller.$state.go).toHaveBeenCalledWith('client.card.address.index');
|
||||
|
|
|
@ -22,7 +22,7 @@ describe('Client', () => {
|
|||
|
||||
describe('setDefault()', () => {
|
||||
it('should perform a PATCH and set a value to defaultAddressFk property', () => {
|
||||
spyOn(controller, 'sortAddresses');
|
||||
jest.spyOn(controller, 'sortAddresses');
|
||||
let address = {id: 1};
|
||||
let data = {defaultAddressFk: address.id};
|
||||
let expectedResult = {defaultAddressFk: address.id};
|
||||
|
|
|
@ -31,9 +31,9 @@ describe('Client', () => {
|
|||
it('should apply the filters on he models and get the client balance', () => {
|
||||
controller._companyId = 442;
|
||||
controller.$stateParams.id = 101;
|
||||
spyOn(controller, 'getBalances');
|
||||
spyOn(controller.$.model, 'applyFilter').and.returnValue(Promise.resolve());
|
||||
spyOn(controller.$.riskModel, 'applyFilter').and.returnValue(Promise.resolve());
|
||||
jest.spyOn(controller, 'getBalances').mockReturnThis();
|
||||
jest.spyOn(controller.$.model, 'applyFilter').mockReturnValue(Promise.resolve());
|
||||
jest.spyOn(controller.$.riskModel, 'applyFilter').mockReturnValue(Promise.resolve());
|
||||
|
||||
controller.getData().then(() => {
|
||||
expect(controller.$.model.applyFilter).toHaveBeenCalledWith(null, {'clientId': 101, 'companyId': 442});
|
||||
|
@ -45,7 +45,7 @@ describe('Client', () => {
|
|||
|
||||
describe('company setter/getter', () => {
|
||||
it('should return the company and then call getData()', () => {
|
||||
spyOn(controller, 'getData');
|
||||
jest.spyOn(controller, 'getData').mockReturnThis();
|
||||
controller.companyId = 442;
|
||||
|
||||
expect(controller._companyId).toEqual(442);
|
||||
|
@ -64,7 +64,7 @@ describe('Client', () => {
|
|||
|
||||
describe('getBalances()', () => {
|
||||
it('should return the total client balance amount', () => {
|
||||
spyOn(controller, 'getCurrentBalance').and.callThrough();
|
||||
jest.spyOn(controller, 'getCurrentBalance');
|
||||
controller._companyId = 442;
|
||||
controller.$.model = {data:
|
||||
[{
|
||||
|
@ -94,7 +94,7 @@ describe('Client', () => {
|
|||
|
||||
describe('balances() setter', () => {
|
||||
it('should set the balances data and not call the getBalances() method', () => {
|
||||
spyOn(controller, 'getBalances');
|
||||
jest.spyOn(controller, 'getBalances');
|
||||
controller.$.riskModel.data = null;
|
||||
controller.balances = [{
|
||||
id: 1,
|
||||
|
@ -115,7 +115,7 @@ describe('Client', () => {
|
|||
});
|
||||
|
||||
it('should set the balances data and then call the getBalances() method', () => {
|
||||
spyOn(controller, 'getBalances');
|
||||
jest.spyOn(controller, 'getBalances').mockReturnThis();
|
||||
controller.balances = [{
|
||||
id: 1,
|
||||
debit: 1000,
|
||||
|
|
|
@ -15,7 +15,7 @@ describe('Client', () => {
|
|||
vnApp = _vnApp_;
|
||||
$scope = $rootScope.$new();
|
||||
$scope.watcher = {};
|
||||
spyOn(vnApp, 'showError');
|
||||
jest.spyOn(vnApp, 'showError');
|
||||
controller = $componentController('vnClientBillingData', {$element, $scope});
|
||||
controller.client = {id: 101, name: 'Client name', payMethodFk: 4};
|
||||
$scope.watcher.orgData = {id: 101, name: 'Client name', payMethodFk: 4};
|
||||
|
|
|
@ -33,7 +33,7 @@ describe('Client', () => {
|
|||
|
||||
describe('onSubmit()', () => {
|
||||
it(`should call submit() on the watcher then expect a callback`, () => {
|
||||
spyOn($state, 'go');
|
||||
jest.spyOn($state, 'go');
|
||||
controller.onSubmit();
|
||||
|
||||
expect(controller.$state.go).toHaveBeenCalledWith('client.card.basicData', {id: '1234'});
|
||||
|
|
|
@ -60,7 +60,7 @@ describe('Client', () => {
|
|||
describe('closeContract()', () => {
|
||||
it('should define the classificationId property of the controller and then call the show method()', () => {
|
||||
controller.$scope.closeContract = {show: () => {}};
|
||||
spyOn(controller.$scope.closeContract, 'show');
|
||||
jest.spyOn(controller.$scope.closeContract, 'show');
|
||||
|
||||
expect(controller.classificationId).toBeFalsy();
|
||||
controller.closeContract({id: 1});
|
||||
|
@ -72,7 +72,7 @@ describe('Client', () => {
|
|||
|
||||
describe('returnDialog()', () => {
|
||||
it('should call the returnDialog method and perform a PATCH query, then call _getClassifications method', () => {
|
||||
spyOn(controller, '_getClassifications');
|
||||
jest.spyOn(controller, '_getClassifications').mockReturnThis();
|
||||
controller.classificationId = 1;
|
||||
$httpBackend.when('PATCH', `CreditClassifications/1`).respond(200);
|
||||
$httpBackend.expect('PATCH', `CreditClassifications/1`);
|
||||
|
|
|
@ -42,7 +42,7 @@ describe('Client', () => {
|
|||
});
|
||||
|
||||
it('should call show() method when the client have a recovery', () => {
|
||||
spyOn(controller.$scope.confirmation, 'show');
|
||||
jest.spyOn(controller.$scope.confirmation, 'show');
|
||||
$httpBackend.whenGET(`Recoveries/101/hasActiveRecovery`).respond(true);
|
||||
$httpBackend.expectGET(`Recoveries/101/hasActiveRecovery`);
|
||||
controller.onSubmit();
|
||||
|
@ -52,7 +52,7 @@ describe('Client', () => {
|
|||
});
|
||||
|
||||
it('should call addCredit() method when the client doesnt have a recovery', () => {
|
||||
spyOn(controller, 'addCredit');
|
||||
jest.spyOn(controller, 'addCredit');
|
||||
$httpBackend.whenGET(`Recoveries/101/hasActiveRecovery`).respond(false);
|
||||
$httpBackend.expectGET(`Recoveries/101/hasActiveRecovery`);
|
||||
controller.onSubmit();
|
||||
|
@ -64,7 +64,7 @@ describe('Client', () => {
|
|||
|
||||
describe('cancel()', () => {
|
||||
it('should call goToIndex()', () => {
|
||||
spyOn(controller, 'goToIndex');
|
||||
jest.spyOn(controller, 'goToIndex');
|
||||
controller.cancel();
|
||||
|
||||
expect(controller.goToIndex).toHaveBeenCalledWith();
|
||||
|
@ -73,7 +73,7 @@ describe('Client', () => {
|
|||
|
||||
describe('returnDialog()', () => {
|
||||
it('should call addCredit() when is called with accept', () => {
|
||||
spyOn(controller, 'addCredit');
|
||||
jest.spyOn(controller, 'addCredit');
|
||||
controller.returnDialog('accept');
|
||||
|
||||
expect(controller.addCredit).toHaveBeenCalledWith();
|
||||
|
@ -82,7 +82,7 @@ describe('Client', () => {
|
|||
|
||||
describe('addCredit()', () => {
|
||||
it('should call the function go() on $state to go to the credit list', () => {
|
||||
spyOn($state, 'go');
|
||||
jest.spyOn($state, 'go');
|
||||
client.credit = 1;
|
||||
controller.addCredit();
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ describe('Client', () => {
|
|||
it(`should not apply any changes if the received id is the same stored in _clientFk`, () => {
|
||||
controller.client = 'I exist!';
|
||||
controller._clientFk = 1;
|
||||
spyOn(controller, 'getCard');
|
||||
jest.spyOn(controller, 'getCard');
|
||||
controller.clientFk = 1;
|
||||
|
||||
expect(controller.client).toEqual('I exist!');
|
||||
|
@ -34,7 +34,7 @@ describe('Client', () => {
|
|||
it(`should set the received id into _clientFk, set the client to null and then call getCard()`, () => {
|
||||
controller.client = `Please don't`;
|
||||
controller._clientFk = 1;
|
||||
spyOn(controller, 'getCard');
|
||||
jest.spyOn(controller, 'getCard');
|
||||
controller.clientFk = 999;
|
||||
|
||||
expect(controller.client).toBeNull();
|
||||
|
@ -45,7 +45,7 @@ describe('Client', () => {
|
|||
|
||||
describe('client()', () => {
|
||||
it(`should save the client into _client and then call relocate()`, () => {
|
||||
spyOn(controller.$.popover, 'relocate');
|
||||
jest.spyOn(controller.$.popover, 'relocate');
|
||||
controller.client = `i'm the client!`;
|
||||
$timeout.flush();
|
||||
|
||||
|
@ -56,7 +56,7 @@ describe('Client', () => {
|
|||
|
||||
describe('show()', () => {
|
||||
it(`should call the show()`, () => {
|
||||
spyOn(controller.$.popover, 'show');
|
||||
jest.spyOn(controller.$.popover, 'show');
|
||||
controller.show();
|
||||
|
||||
expect(controller.$.popover.show).toHaveBeenCalledWith();
|
||||
|
|
|
@ -19,8 +19,8 @@ describe('Client', () => {
|
|||
|
||||
describe('client() setter', () => {
|
||||
it('should set the client data and then call setDefaultParams() and getAllowedContentTypes()', () => {
|
||||
spyOn(controller, 'setDefaultParams');
|
||||
spyOn(controller, 'getAllowedContentTypes');
|
||||
jest.spyOn(controller, 'setDefaultParams');
|
||||
jest.spyOn(controller, 'getAllowedContentTypes');
|
||||
controller.client = {
|
||||
id: 15,
|
||||
name: 'Bruce wayne'
|
||||
|
|
|
@ -19,8 +19,8 @@ describe('Client', () => {
|
|||
|
||||
describe('client() setter', () => {
|
||||
it('should set the client data and then call setDefaultParams() and getAllowedContentTypes()', () => {
|
||||
spyOn(controller, 'setDefaultParams');
|
||||
spyOn(controller, 'getAllowedContentTypes');
|
||||
jest.spyOn(controller, 'setDefaultParams');
|
||||
jest.spyOn(controller, 'getAllowedContentTypes');
|
||||
controller._client = undefined;
|
||||
controller.client = {
|
||||
id: 15
|
||||
|
|
|
@ -22,8 +22,8 @@ describe('Client', () => {
|
|||
it('should make an HTTP Post query', () => {
|
||||
const dmsId = 1;
|
||||
const dmsIndex = 0;
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
spyOn(controller.$.model, 'remove');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller.$.model, 'remove');
|
||||
controller.clientDms = [{dmsFk: 1}];
|
||||
controller.dmsIndex = dmsIndex;
|
||||
|
||||
|
|
|
@ -24,14 +24,15 @@ export default class Controller extends Component {
|
|||
const filter = encodeURIComponent(JSON.stringify(filterObj));
|
||||
const query = `Clients/findOne?filter=${filter}`;
|
||||
this.$http.get(query).then(res => {
|
||||
if (res.data.id) {
|
||||
const params = {clientId: res.data.id};
|
||||
const question = $t('Found a client with this phone or email', params, null, null, 'sanitizeParameters');
|
||||
|
||||
this.client.despiteOfClient = params.clientId;
|
||||
this.$.confirmDuplicatedClient.question = question;
|
||||
this.$.confirmDuplicatedClient.show();
|
||||
}
|
||||
}).catch(error => {
|
||||
if (error.status == 404)
|
||||
this.save();
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ describe('Client', () => {
|
|||
|
||||
describe('onSubmit()', () => {
|
||||
it('should call the save() method directly', () => {
|
||||
spyOn(controller, 'save');
|
||||
jest.spyOn(controller, 'save');
|
||||
|
||||
controller.onSubmit();
|
||||
|
||||
|
@ -37,8 +37,8 @@ describe('Client', () => {
|
|||
});
|
||||
|
||||
it('should call the checkExistingClient() if the isTaxDataChecked property is checked', () => {
|
||||
spyOn(controller, 'save');
|
||||
spyOn(controller, 'checkExistingClient');
|
||||
jest.spyOn(controller, 'save');
|
||||
jest.spyOn(controller, 'checkExistingClient');
|
||||
|
||||
controller.client.isTaxDataChecked = true;
|
||||
controller.onSubmit();
|
||||
|
@ -51,7 +51,7 @@ describe('Client', () => {
|
|||
describe('checkExistingClient()', () => {
|
||||
it('should show a save confirmation when a duplicated client is found and then set the despiteOfClient property', () => {
|
||||
controller.$.confirmDuplicatedClient = {show: () => {}};
|
||||
spyOn(controller.$.confirmDuplicatedClient, 'show');
|
||||
jest.spyOn(controller.$.confirmDuplicatedClient, 'show');
|
||||
const filterObj = {
|
||||
where: {
|
||||
and: [
|
||||
|
@ -74,7 +74,7 @@ describe('Client', () => {
|
|||
describe('checkEtChanges()', () => {
|
||||
it(`should show a propagation confirmation if isEqualizated property is changed and invoice by address is checked`, () => {
|
||||
controller.$.propagateIsEqualizated = {show: () => {}};
|
||||
spyOn(controller.$.propagateIsEqualizated, 'show');
|
||||
jest.spyOn(controller.$.propagateIsEqualizated, 'show');
|
||||
|
||||
const orgData = $scope.watcher.orgData;
|
||||
orgData.hasToInvoiceByAddress = true;
|
||||
|
@ -86,7 +86,7 @@ describe('Client', () => {
|
|||
});
|
||||
|
||||
it(`should call to the onAcceptEt() method if isEqualizated property is changed and invoice by address isn't checked`, () => {
|
||||
spyOn(controller, 'onAcceptEt');
|
||||
jest.spyOn(controller, 'onAcceptEt');
|
||||
|
||||
const orgData = $scope.watcher.orgData;
|
||||
orgData.hasToInvoiceByAddress = false;
|
||||
|
|
|
@ -27,7 +27,7 @@ describe('Client', () => {
|
|||
|
||||
describe('onSubmit()', () => {
|
||||
it('should call the function go() on $state to go to the greuges list', () => {
|
||||
spyOn($state, 'go');
|
||||
jest.spyOn($state, 'go');
|
||||
controller.onSubmit();
|
||||
|
||||
expect(controller.$state.go).toHaveBeenCalledWith('client.card.greuge.index');
|
||||
|
|
|
@ -15,7 +15,7 @@ describe('Client index', () => {
|
|||
it('should navigate to the ticket index using params as filter', () => {
|
||||
const client = {id: 101};
|
||||
const event = new MouseEvent('click', {cancelable: true});
|
||||
spyOn($state, 'go');
|
||||
jest.spyOn($state, 'go');
|
||||
|
||||
controller.filterTickets(client, event);
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ describe('Client', () => {
|
|||
let params = {townFk: 1, provinceFk: 1, countryFk: 1, code: '46460'};
|
||||
controller.data = {townFk: 1, provinceFk: 1, countryFk: 1, code: '46460'};
|
||||
|
||||
spyOn(controller.vnApp, 'showMessage');
|
||||
jest.spyOn(controller.vnApp, 'showMessage');
|
||||
$httpBackend.when('PATCH', `postcodes`, params).respond(200, params);
|
||||
$httpBackend.expect('PATCH', `postcodes`, params).respond(params);
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ describe('Client', () => {
|
|||
|
||||
describe('onSubmit()', () => {
|
||||
it('should call the function go() on $state to go to the recovery list', () => {
|
||||
spyOn($state, 'go');
|
||||
jest.spyOn($state, 'go');
|
||||
controller.onSubmit();
|
||||
|
||||
expect(controller.$state.go).toHaveBeenCalledWith('client.card.recovery.index');
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
<vn-autocomplete vn-one vn-id="sampleType"
|
||||
ng-model="$ctrl.clientSample.typeFk"
|
||||
model="ClientSample.typeFk"
|
||||
fields="['code','hasCompany']"
|
||||
fields="['code','hasCompany', 'hasPreview']"
|
||||
url="Samples/visible"
|
||||
show-field="description"
|
||||
value-field="id"
|
||||
|
@ -31,7 +31,7 @@
|
|||
</vn-autocomplete>
|
||||
<vn-autocomplete vn-one
|
||||
ng-model="$ctrl.companyId"
|
||||
model="ClientSample.companyId"
|
||||
model="ClientSample.companyFk"
|
||||
data="companiesData"
|
||||
show-field="code"
|
||||
value-field="id"
|
||||
|
@ -42,7 +42,10 @@
|
|||
</vn-card>
|
||||
<vn-button-bar>
|
||||
<vn-submit label="Send"></vn-submit>
|
||||
<vn-button label="Preview" ng-click="$ctrl.showPreview()"></vn-button>
|
||||
<vn-button ng-if="sampleType.selection.hasPreview"
|
||||
label="Preview"
|
||||
ng-click="$ctrl.showPreview()">
|
||||
</vn-button>
|
||||
<vn-button ui-sref="client.card.sample.index" label="Cancel"></vn-button>
|
||||
</vn-button-bar>
|
||||
</form>
|
||||
|
|
|
@ -26,13 +26,13 @@ class Controller extends Component {
|
|||
}
|
||||
|
||||
get companyId() {
|
||||
if (!this.clientSample.companyId)
|
||||
this.clientSample.companyId = this.vnConfig.companyFk;
|
||||
return this.clientSample.companyId;
|
||||
if (!this.clientSample.companyFk)
|
||||
this.clientSample.companyFk = this.vnConfig.companyFk;
|
||||
return this.clientSample.companyFk;
|
||||
}
|
||||
|
||||
set companyId(value) {
|
||||
this.clientSample.companyId = value;
|
||||
this.clientSample.companyFk = value;
|
||||
}
|
||||
|
||||
onSubmit() {
|
||||
|
@ -74,11 +74,11 @@ class Controller extends Component {
|
|||
if (!sampleType)
|
||||
return this.vnApp.showError(this.$translate.instant('Choose a sample'));
|
||||
|
||||
if (sampleType.hasCompany && !this.clientSample.companyId)
|
||||
if (sampleType.hasCompany && !this.clientSample.companyFk)
|
||||
return this.vnApp.showError(this.$translate.instant('Choose a company'));
|
||||
|
||||
if (sampleType.hasCompany)
|
||||
params.companyId = this.clientSample.companyId;
|
||||
params.companyId = this.clientSample.companyFk;
|
||||
|
||||
if (isPreview) params.isPreview = true;
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@ describe('Client', () => {
|
|||
|
||||
describe('onSubmit()', () => {
|
||||
it(`should call sendSample() method`, () => {
|
||||
spyOn(controller, 'sendSample');
|
||||
jest.spyOn(controller, 'sendSample');
|
||||
controller.onSubmit();
|
||||
|
||||
expect(controller.sendSample).toHaveBeenCalledWith();
|
||||
|
@ -61,7 +61,7 @@ describe('Client', () => {
|
|||
|
||||
describe('send()', () => {
|
||||
it(`should not perform an HTTP query if no recipient is specified`, () => {
|
||||
spyOn(controller.$http, 'get');
|
||||
jest.spyOn(controller.$http, 'get');
|
||||
|
||||
controller.$.sampleType.selection = {
|
||||
hasCompany: false,
|
||||
|
@ -77,7 +77,7 @@ describe('Client', () => {
|
|||
});
|
||||
|
||||
it(`should not perform an HTTP query if no sample is specified`, () => {
|
||||
spyOn(controller.$http, 'get');
|
||||
jest.spyOn(controller.$http, 'get');
|
||||
|
||||
controller.$.sampleType.selection = null;
|
||||
controller.clientSample = {
|
||||
|
@ -91,7 +91,7 @@ describe('Client', () => {
|
|||
});
|
||||
|
||||
it(`should not perform an HTTP query if company is required and not specified`, () => {
|
||||
spyOn(controller.$http, 'get');
|
||||
jest.spyOn(controller.$http, 'get');
|
||||
|
||||
controller.$.sampleType.selection = {
|
||||
hasCompany: true,
|
||||
|
@ -107,7 +107,7 @@ describe('Client', () => {
|
|||
expect(controller.$http.get).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it(`should perform an HTTP query without passing companyId param`, () => {
|
||||
it(`should perform an HTTP query without passing companyFk param`, () => {
|
||||
controller.$.sampleType.selection = {
|
||||
hasCompany: false,
|
||||
code: 'MyReport'
|
||||
|
@ -116,25 +116,34 @@ describe('Client', () => {
|
|||
clientId: 101,
|
||||
recipient: 'client@email.com'
|
||||
};
|
||||
const expectedParams = {
|
||||
clientId: 101,
|
||||
recipient: 'client@email.com'
|
||||
};
|
||||
const serializedParams = $httpParamSerializer(expectedParams);
|
||||
|
||||
const serializedParams = $httpParamSerializer(controller.clientSample);
|
||||
$httpBackend.expect('GET', `email/MyReport?${serializedParams}`).respond(true);
|
||||
controller.send(false, () => {});
|
||||
$httpBackend.flush();
|
||||
});
|
||||
|
||||
it(`should perform an HTTP query passing companyId param`, () => {
|
||||
it(`should perform an HTTP query passing companyFk param`, () => {
|
||||
controller.$.sampleType.selection = {
|
||||
hasCompany: true,
|
||||
code: 'MyReport'
|
||||
};
|
||||
controller.clientSample = {
|
||||
clientId: 101,
|
||||
recipient: 'client@email.com',
|
||||
companyFk: 442
|
||||
};
|
||||
const expectedParams = {
|
||||
clientId: 101,
|
||||
recipient: 'client@email.com',
|
||||
companyId: 442
|
||||
};
|
||||
const serializedParams = $httpParamSerializer(expectedParams);
|
||||
|
||||
const serializedParams = $httpParamSerializer(controller.clientSample);
|
||||
$httpBackend.expect('GET', `email/MyReport?${serializedParams}`).respond(true);
|
||||
controller.send(false, () => {});
|
||||
$httpBackend.flush();
|
||||
|
@ -143,7 +152,7 @@ describe('Client', () => {
|
|||
|
||||
describe('showPreview()', () => {
|
||||
it(`should open a sample preview`, () => {
|
||||
spyOn(controller.$.showPreview, 'show');
|
||||
jest.spyOn(controller.$.showPreview, 'show');
|
||||
|
||||
controller.send = (isPreview, cb) => {
|
||||
cb({
|
||||
|
@ -158,7 +167,7 @@ describe('Client', () => {
|
|||
|
||||
describe('sendSample()', () => {
|
||||
it(`should perform a query (GET) and call go() method`, () => {
|
||||
spyOn(controller.$state, 'go');
|
||||
jest.spyOn(controller.$state, 'go');
|
||||
|
||||
controller.send = (isPreview, cb) => {
|
||||
cb({
|
||||
|
|
|
@ -27,7 +27,7 @@ describe('Client', () => {
|
|||
let params = {destinationFk: 101, destination: 111111111, message: 'My SMS'};
|
||||
controller.sms = {destinationFk: 101, destination: 111111111, message: 'My SMS'};
|
||||
|
||||
spyOn(controller.vnApp, 'showMessage');
|
||||
jest.spyOn(controller.vnApp, 'showMessage');
|
||||
$httpBackend.expect('POST', `Clients/101/sendSms`, params).respond(200, params);
|
||||
|
||||
controller.onResponse('accept');
|
||||
|
@ -39,7 +39,7 @@ describe('Client', () => {
|
|||
it('should call onResponse without the destination and show an error snackbar', () => {
|
||||
controller.sms = {destinationFk: 101, message: 'My SMS'};
|
||||
|
||||
spyOn(controller.vnApp, 'showError');
|
||||
jest.spyOn(controller.vnApp, 'showError');
|
||||
|
||||
controller.onResponse('accept');
|
||||
|
||||
|
@ -49,7 +49,7 @@ describe('Client', () => {
|
|||
it('should call onResponse without the message and show an error snackbar', () => {
|
||||
controller.sms = {destinationFk: 101, destination: 222222222};
|
||||
|
||||
spyOn(controller.vnApp, 'showError');
|
||||
jest.spyOn(controller.vnApp, 'showError');
|
||||
|
||||
controller.onResponse('accept');
|
||||
|
||||
|
|
|
@ -14,10 +14,10 @@ describe('Client', () => {
|
|||
}));
|
||||
|
||||
describe('$onChanges()', () => {
|
||||
it('should perform a GET query and define summary property', () => {
|
||||
it('should perform a GET query and then define the summary property', () => {
|
||||
let res = {name: 'Superman', classifications: []};
|
||||
|
||||
spyOn(controller, 'sumRisk');
|
||||
jest.spyOn(controller, 'sumRisk').mockReturnThis();
|
||||
$httpBackend.when('GET', `Clients/101/summary`).respond(200, res);
|
||||
$httpBackend.expect('GET', `Clients/101/summary`);
|
||||
|
||||
|
|
|
@ -12,13 +12,13 @@ describe('Component VnClientWebAccess', () => {
|
|||
$scope = $rootScope.$new();
|
||||
$httpBackend = _$httpBackend_;
|
||||
vnApp = _vnApp_;
|
||||
spyOn(vnApp, 'showError');
|
||||
jest.spyOn(vnApp, 'showError');
|
||||
controller = $componentController('vnClientWebAccess', {$scope});
|
||||
}));
|
||||
|
||||
describe('$onChanges()', () => {
|
||||
it(`should pass client's account data to account then call isCustomer function`, () => {
|
||||
spyOn(controller, 'isCustomer');
|
||||
jest.spyOn(controller, 'isCustomer');
|
||||
controller.client = {client: 'Bruce Wayne', account: 'Wayne Industries'};
|
||||
controller.account = {};
|
||||
controller.$onChanges();
|
||||
|
|
|
@ -14,7 +14,7 @@ describe('Component vnClientWebPayment', () => {
|
|||
$scope.model = crudModel;
|
||||
$httpBackend = _$httpBackend_;
|
||||
vnApp = _vnApp_;
|
||||
spyOn(vnApp, 'showError');
|
||||
jest.spyOn(vnApp, 'showError');
|
||||
controller = $componentController('vnClientWebPayment', {$scope: $scope});
|
||||
}));
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ describe('Entry Component vnEntryDescriptor', () => {
|
|||
};
|
||||
const serializedParams = $httpParamSerializer(params);
|
||||
let expectedPath = `api/report/entry-order?${serializedParams}`;
|
||||
spyOn(window, 'open');
|
||||
jest.spyOn(window, 'open').mockReturnThis();
|
||||
controller.showEntryReport();
|
||||
|
||||
expect(window.open).toHaveBeenCalledWith(expectedPath);
|
||||
|
|
|
@ -19,7 +19,7 @@ describe('component vnEntrySummary', () => {
|
|||
|
||||
describe('entry setter/getter', () => {
|
||||
it('should check if value.id is defined', () => {
|
||||
spyOn(controller, 'getEntryData');
|
||||
jest.spyOn(controller, 'getEntryData');
|
||||
|
||||
controller.entry = {id: 1};
|
||||
|
||||
|
@ -27,7 +27,7 @@ describe('component vnEntrySummary', () => {
|
|||
});
|
||||
|
||||
it('should return the entry and then call getEntryData()', () => {
|
||||
spyOn(controller, 'getEntryData');
|
||||
jest.spyOn(controller, 'getEntryData');
|
||||
controller.entry = {id: 99};
|
||||
|
||||
expect(controller._entry.id).toEqual(99);
|
||||
|
|
|
@ -27,7 +27,7 @@ describe('Item', () => {
|
|||
|
||||
describe('onSubmit()', () => {
|
||||
it(`should call submit() on the watcher then expect a callback`, () => {
|
||||
spyOn($state, 'go');
|
||||
jest.spyOn($state, 'go');
|
||||
controller.onSubmit();
|
||||
|
||||
expect(controller.$state.go).toHaveBeenCalledWith('item.card.basicData', {id: 1});
|
||||
|
|
|
@ -23,7 +23,7 @@ describe('Item', () => {
|
|||
it(`should not apply any changes if the received id is the same stored in _itemFk`, () => {
|
||||
controller.item = 'I exist!';
|
||||
controller._itemFk = 1;
|
||||
spyOn(controller, 'getCard');
|
||||
jest.spyOn(controller, 'getCard');
|
||||
controller.itemFk = 1;
|
||||
|
||||
expect(controller.item).toEqual('I exist!');
|
||||
|
@ -34,7 +34,7 @@ describe('Item', () => {
|
|||
it(`should set the received id into _itemFk, set the item to null and then call getCard()`, () => {
|
||||
controller.item = `Please don't`;
|
||||
controller._itemFk = 1;
|
||||
spyOn(controller, 'getCard');
|
||||
jest.spyOn(controller, 'getCard');
|
||||
controller.itemFk = 999;
|
||||
|
||||
expect(controller.item).toBeNull();
|
||||
|
@ -45,7 +45,7 @@ describe('Item', () => {
|
|||
|
||||
describe('item()', () => {
|
||||
it(`should save the item into _item and then call relocate()`, () => {
|
||||
spyOn(controller.$.popover, 'relocate');
|
||||
jest.spyOn(controller.$.popover, 'relocate');
|
||||
controller.item = `i'm the item!`;
|
||||
$timeout.flush();
|
||||
|
||||
|
@ -56,7 +56,7 @@ describe('Item', () => {
|
|||
|
||||
describe('show()', () => {
|
||||
it(`should call the show()`, () => {
|
||||
spyOn(controller.$.popover, 'show');
|
||||
jest.spyOn(controller.$.popover, 'show');
|
||||
controller.show();
|
||||
|
||||
expect(controller.$.popover.show).toHaveBeenCalledWith();
|
||||
|
|
|
@ -68,8 +68,8 @@ describe('Item', () => {
|
|||
});
|
||||
|
||||
describe('set item()', () => {
|
||||
it(`should set warehouseFk property based on itemType warehouseFk`, () => {
|
||||
spyOn(controller.$scope, '$applyAsync').and.callThrough();
|
||||
it('should set warehouseFk property based on itemType warehouseFk', () => {
|
||||
jest.spyOn(controller.$scope, '$applyAsync');
|
||||
controller.item = {id: 1, itemType: {warehouseFk: 1}};
|
||||
|
||||
expect(controller.$scope.$applyAsync).toHaveBeenCalledWith(jasmine.any(Function));
|
||||
|
@ -80,7 +80,7 @@ describe('Item', () => {
|
|||
});
|
||||
|
||||
it(`should set warehouseFk property based on url query warehouseFk`, () => {
|
||||
spyOn(controller.$scope, '$applyAsync').and.callThrough();
|
||||
jest.spyOn(controller.$scope, '$applyAsync');
|
||||
controller.$stateParams.warehouseFk = 4;
|
||||
controller.item = {id: 1, itemType: {warehouseFk: 1}};
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ describe('Item', () => {
|
|||
|
||||
describe('onCloneAccept()', () => {
|
||||
it('should do nothing if response is not accept', () => {
|
||||
spyOn(controller.$state, 'go');
|
||||
jest.spyOn(controller.$state, 'go');
|
||||
|
||||
let response = 'ERROR!';
|
||||
controller.itemSelected = 'check me';
|
||||
|
@ -28,7 +28,7 @@ describe('Item', () => {
|
|||
});
|
||||
|
||||
it('should do nothing if response is accept but itemSelected is not defined in the controller', () => {
|
||||
spyOn(controller.$state, 'go');
|
||||
jest.spyOn(controller.$state, 'go');
|
||||
|
||||
let response = 'accept';
|
||||
controller.itemSelected = undefined;
|
||||
|
@ -40,7 +40,7 @@ describe('Item', () => {
|
|||
});
|
||||
|
||||
it('should perform a post query and then call go() then update itemSelected in the controller', () => {
|
||||
spyOn(controller.$state, 'go');
|
||||
jest.spyOn(controller.$state, 'go');
|
||||
|
||||
let response = 'accept';
|
||||
controller.itemSelected = {id: 1};
|
||||
|
|
|
@ -46,7 +46,7 @@ describe('Item', () => {
|
|||
describe('confirmRequest()', () => {
|
||||
it(`should do nothing if the request does't have itemFk or saleQuantity`, () => {
|
||||
let request = {};
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
|
||||
controller.confirmRequest(request);
|
||||
|
||||
|
@ -54,9 +54,9 @@ describe('Item', () => {
|
|||
});
|
||||
|
||||
it('should perform a query and call vnApp.showSuccess() and refresh if the conditions are met', () => {
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
let model = controller.$.model;
|
||||
spyOn(model, 'refresh');
|
||||
jest.spyOn(model, 'refresh');
|
||||
|
||||
const expectedResult = {concept: 'Melee Weapon'};
|
||||
let request = {itemFk: 1, saleQuantity: 1, id: 1};
|
||||
|
@ -73,7 +73,7 @@ describe('Item', () => {
|
|||
describe('changeQuantity()', () => {
|
||||
it(`should call confirmRequest() if there's no sale id in the request`, () => {
|
||||
let request = {};
|
||||
spyOn(controller, 'confirmRequest');
|
||||
jest.spyOn(controller, 'confirmRequest');
|
||||
|
||||
controller.changeQuantity(request);
|
||||
|
||||
|
@ -82,7 +82,7 @@ describe('Item', () => {
|
|||
|
||||
it(`should perform a query and call vnApp.showSuccess() if the conditions are met`, () => {
|
||||
let request = {saleFk: 1, saleQuantity: 1};
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
|
||||
|
||||
$httpBackend.when('PATCH', `Sales/${request.saleFk}/`).respond();
|
||||
|
@ -114,7 +114,7 @@ describe('Item', () => {
|
|||
|
||||
describe('denyRequest()', () => {
|
||||
it(`should perform a query and call vnApp.showSuccess(), refresh(), hide() and set denyObservation to null in the controller`, () => {
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
|
||||
const request = {id: 1};
|
||||
const expectedResult = {isOk: false, attenderFk: 106, response: 'Denied!'};
|
||||
|
|
|
@ -27,7 +27,7 @@ describe('Item', () => {
|
|||
|
||||
describe('$onChanges()', () => {
|
||||
it('should call getSummary when item.id is defined', () => {
|
||||
spyOn(controller, 'getSummary');
|
||||
jest.spyOn(controller, 'getSummary');
|
||||
controller.$onChanges();
|
||||
|
||||
expect(controller.getSummary).toHaveBeenCalledWith();
|
||||
|
|
|
@ -17,7 +17,7 @@ describe('Item', () => {
|
|||
|
||||
describe('itemTags setter', () => {
|
||||
it('should call getSourceTable one time for each element in the value array', () => {
|
||||
spyOn(controller, 'getSourceTable');
|
||||
jest.spyOn(controller, 'getSourceTable');
|
||||
let itemTags = [
|
||||
{id: 1},
|
||||
{id: 2},
|
||||
|
@ -27,7 +27,7 @@ describe('Item', () => {
|
|||
|
||||
controller.itemTags = itemTags;
|
||||
|
||||
expect(controller.getSourceTable.calls.count()).toEqual(4);
|
||||
expect(controller.getSourceTable.mock.calls.length).toEqual(4);
|
||||
expect(controller.itemTags).toEqual(itemTags);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -44,8 +44,8 @@ describe('Item', () => {
|
|||
|
||||
describe('submit()', () => {
|
||||
it('should perform a post to update taxes', () => {
|
||||
spyOn(controller.$.watcher, 'notifySaved');
|
||||
spyOn(controller.$.watcher, 'updateOriginalData');
|
||||
jest.spyOn(controller.$.watcher, 'notifySaved');
|
||||
jest.spyOn(controller.$.watcher, 'updateOriginalData');
|
||||
controller.taxes = [
|
||||
{id: 37, countryFk: 1, taxClassFk: 1, country: {id: 1, country: 'España'}}
|
||||
];
|
||||
|
|
|
@ -73,7 +73,7 @@ describe('Order', () => {
|
|||
|
||||
describe('onSubmit()', () => {
|
||||
it(`should call createOrder()`, () => {
|
||||
spyOn(controller, 'createOrder');
|
||||
jest.spyOn(controller, 'createOrder');
|
||||
controller.onSubmit();
|
||||
|
||||
expect(controller.createOrder).toHaveBeenCalledWith();
|
||||
|
@ -86,8 +86,8 @@ describe('Order', () => {
|
|||
controller.order.addressFk = 101;
|
||||
controller.order.agencyModeFk = 101;
|
||||
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
spyOn(controller.$state, 'go');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller.$state, 'go');
|
||||
$httpBackend.when('POST', 'Orders/new', {landed: 101, addressId: 101, agencyModeId: 101}).respond(200, 1);
|
||||
$httpBackend.expect('POST', 'Orders/new', {landed: 101, addressId: 101, agencyModeId: 101});
|
||||
controller.createOrder();
|
||||
|
|
|
@ -15,14 +15,14 @@ describe('Order', () => {
|
|||
|
||||
describe('onSubmit()', () => {
|
||||
it(`should call createOrder()`, () => {
|
||||
spyOn(controller.$.card, 'createOrder');
|
||||
jest.spyOn(controller.$.card, 'createOrder');
|
||||
controller.onSubmit();
|
||||
|
||||
expect(controller.$.card.createOrder).toHaveBeenCalledWith();
|
||||
});
|
||||
|
||||
it(`should call go()`, async() => {
|
||||
spyOn(controller.$state, 'go');
|
||||
jest.spyOn(controller.$state, 'go');
|
||||
await controller.onSubmit();
|
||||
|
||||
expect(controller.$state.go).toHaveBeenCalledWith('order.card.summary', {id: undefined});
|
||||
|
|
|
@ -16,8 +16,8 @@ describe('Order Component vnOrderDescriptor', () => {
|
|||
it(`should do nothing if the response isn't accept`, () => {
|
||||
let response = 'WAGH!';
|
||||
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
spyOn(controller.$state, 'go');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller.$state, 'go');
|
||||
controller.deleteOrder(response);
|
||||
|
||||
expect(controller.vnApp.showSuccess).not.toHaveBeenCalledWith('Order deleted!');
|
||||
|
@ -27,8 +27,8 @@ describe('Order Component vnOrderDescriptor', () => {
|
|||
it(`should perform a DELETE query if the response was accept`, () => {
|
||||
let response = 'accept';
|
||||
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
spyOn(controller.$state, 'go');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller.$state, 'go');
|
||||
$httpBackend.when('DELETE', `Orders/${controller.order.id}`).respond(200);
|
||||
$httpBackend.expect('DELETE', `Orders/${controller.order.id}`);
|
||||
controller.deleteOrder(response);
|
||||
|
|
|
@ -14,7 +14,7 @@ describe('Order', () => {
|
|||
}));
|
||||
|
||||
describe('getSummary()', () => {
|
||||
it('should perform a GET query and define summary property', () => {
|
||||
it('should now perform a GET query and define the summary property', () => {
|
||||
let res = {id: 1, nickname: 'Batman'};
|
||||
$httpBackend.when('GET', `Orders/1/summary`).respond(200, res);
|
||||
$httpBackend.expect('GET', `Orders/1/summary`);
|
||||
|
|
|
@ -39,7 +39,7 @@ describe('Order', () => {
|
|||
it('should set $scope.descriptor.itemFk, $scope.descriptor.parent and call $scope.descriptor.show()', () => {
|
||||
let event = {target: 1};
|
||||
let itemFk = 1;
|
||||
spyOn(controller.$scope.descriptor, 'show');
|
||||
jest.spyOn(controller.$scope.descriptor, 'show');
|
||||
controller.showDescriptor(event, itemFk);
|
||||
|
||||
expect(controller.$scope.descriptor.itemFk).toBe(1);
|
||||
|
@ -50,7 +50,7 @@ describe('Order', () => {
|
|||
|
||||
describe('onDescriptorLoad()', () => {
|
||||
it('should call $scope.popover.relocate()', () => {
|
||||
spyOn(controller.$scope.popover, 'relocate');
|
||||
jest.spyOn(controller.$scope.popover, 'relocate');
|
||||
controller.onDescriptorLoad();
|
||||
|
||||
expect(controller.$scope.popover.relocate).toHaveBeenCalledWith();
|
||||
|
|
|
@ -22,7 +22,7 @@ describe('vnRouteDescriptorPopover', () => {
|
|||
it(`should do nothing if the received id isn't a new one`, () => {
|
||||
controller.route = 'I exist!';
|
||||
controller._routeFk = 1;
|
||||
spyOn(controller, 'getCard');
|
||||
jest.spyOn(controller, 'getCard');
|
||||
controller.routeFk = 1;
|
||||
|
||||
expect(controller.route).toEqual('I exist!');
|
||||
|
@ -33,7 +33,7 @@ describe('vnRouteDescriptorPopover', () => {
|
|||
it(`should set the received id, set the route null and then call getCard()`, () => {
|
||||
controller.route = `Please don't`;
|
||||
controller._routeFk = 1;
|
||||
spyOn(controller, 'getCard');
|
||||
jest.spyOn(controller, 'getCard');
|
||||
controller.routeFk = 999;
|
||||
|
||||
expect(controller.route).toBeNull();
|
||||
|
@ -44,7 +44,7 @@ describe('vnRouteDescriptorPopover', () => {
|
|||
|
||||
describe('route()', () => {
|
||||
it(`should save the client on the controller and then call relocate()`, () => {
|
||||
spyOn(controller.$.popover, 'relocate');
|
||||
jest.spyOn(controller.$.popover, 'relocate');
|
||||
let route = `i'm the route!`;
|
||||
controller.route = route;
|
||||
$timeout.flush();
|
||||
|
@ -56,7 +56,7 @@ describe('vnRouteDescriptorPopover', () => {
|
|||
|
||||
describe('show()', () => {
|
||||
it(`should call the popover show() method`, () => {
|
||||
spyOn(controller.$.popover, 'show');
|
||||
jest.spyOn(controller.$.popover, 'show');
|
||||
controller.show();
|
||||
|
||||
expect(controller.$.popover.show).toHaveBeenCalledWith();
|
||||
|
|
|
@ -87,8 +87,8 @@ describe('Route', () => {
|
|||
describe('setPriority()', () => {
|
||||
it('should set a ticket priority', () => {
|
||||
controller.$.model = {refresh: () => {}};
|
||||
spyOn(controller.$.model, 'refresh');
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller.$.model, 'refresh');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
const ticketId = 1;
|
||||
const priority = 999;
|
||||
|
||||
|
@ -119,7 +119,7 @@ describe('Route', () => {
|
|||
|
||||
describe('goToBuscaman()', () => {
|
||||
it('should open buscaman with the given arguments', () => {
|
||||
spyOn(window, 'open');
|
||||
jest.spyOn(window, 'open').mockReturnThis();
|
||||
const expectedUrl = 'http://gps.buscalia.com/usuario/localizar.aspx?bmi=true&addr=46460 Av Espioca 100+to:n19 London my street';
|
||||
controller.route = {vehicleFk: 1};
|
||||
const url = `Routes/${controller.route.vehicleFk}/getDeliveryPoint`;
|
||||
|
@ -147,7 +147,7 @@ describe('Route', () => {
|
|||
describe('showDeleteConfirm()', () => {
|
||||
it('should open a confirm dialog after setting the selected ticket into the controller', () => {
|
||||
controller.$.confirm = {show: () => {}};
|
||||
spyOn(controller.$.confirm, 'show');
|
||||
jest.spyOn(controller.$.confirm, 'show');
|
||||
let ticketId = 1;
|
||||
|
||||
controller.showDeleteConfirm(ticketId);
|
||||
|
@ -159,8 +159,8 @@ describe('Route', () => {
|
|||
|
||||
describe('removeTicketFromRoute()', () => {
|
||||
it('should perform a patch query then call showSuccess and updateVolume methods', () => {
|
||||
spyOn(controller, 'updateVolume');
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller, 'updateVolume').mockReturnThis();
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
let ticketId = 1;
|
||||
controller.selectedTicket = ticketId;
|
||||
|
||||
|
@ -178,8 +178,8 @@ describe('Route', () => {
|
|||
controller.$.model = {refresh: () => {}};
|
||||
controller.card = {reload: () => {}};
|
||||
controller.$stateParamds = {id: 999};
|
||||
spyOn(controller.$.model, 'refresh');
|
||||
spyOn(controller.card, 'reload');
|
||||
jest.spyOn(controller.$.model, 'refresh');
|
||||
jest.spyOn(controller.card, 'reload');
|
||||
|
||||
let ticketId = 1;
|
||||
controller.selectedTicket = ticketId;
|
||||
|
@ -197,8 +197,8 @@ describe('Route', () => {
|
|||
describe('guessPriority()', () => {
|
||||
it('should perform a GET query then call both refresh and showSuccess methods', () => {
|
||||
controller.$.model = {refresh: () => {}};
|
||||
spyOn(controller.$.model, 'refresh');
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller.$.model, 'refresh');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
controller.$stateParams = {id: 99};
|
||||
|
||||
const url = `Routes/${controller.$stateParams.id}/guessPriority/`;
|
||||
|
@ -214,9 +214,9 @@ describe('Route', () => {
|
|||
describe('showTicketDescriptor()', () => {
|
||||
it('should call the descriptor show function after setting the parent and the ticket id', () => {
|
||||
controller.$.ticketDescriptor = {show: () => {}};
|
||||
spyOn(controller.$.ticketDescriptor, 'show');
|
||||
jest.spyOn(controller.$.ticketDescriptor, 'show');
|
||||
const event = {target: {}, preventDefault: () => {}};
|
||||
spyOn(event, 'preventDefault');
|
||||
jest.spyOn(event, 'preventDefault');
|
||||
const ticketId = 999;
|
||||
controller.showTicketDescriptor(event, ticketId);
|
||||
|
||||
|
@ -229,9 +229,9 @@ describe('Route', () => {
|
|||
describe('showClientDescriptor()', () => {
|
||||
it('should call the descriptor show method after setting the parent and the client id', () => {
|
||||
controller.$.clientDescriptor = {show: () => {}};
|
||||
spyOn(controller.$.clientDescriptor, 'show');
|
||||
jest.spyOn(controller.$.clientDescriptor, 'show');
|
||||
const event = {target: {}, preventDefault: () => {}};
|
||||
spyOn(event, 'preventDefault');
|
||||
jest.spyOn(event, 'preventDefault');
|
||||
const clientId = 999;
|
||||
controller.showClientDescriptor(event, clientId);
|
||||
|
||||
|
@ -244,9 +244,9 @@ describe('Route', () => {
|
|||
describe('openPossibleTicketsDialog()', () => {
|
||||
it('should call both refresh and show methods in posible tickets model and dialog', () => {
|
||||
controller.$.possibleTicketsModel = {refresh: () => {}};
|
||||
spyOn(controller.$.possibleTicketsModel, 'refresh');
|
||||
jest.spyOn(controller.$.possibleTicketsModel, 'refresh');
|
||||
controller.$.possibleTicketsDialog = {show: () => {}};
|
||||
spyOn(controller.$.possibleTicketsDialog, 'show');
|
||||
jest.spyOn(controller.$.possibleTicketsDialog, 'show');
|
||||
|
||||
controller.openPossibleTicketsDialog();
|
||||
|
||||
|
@ -258,7 +258,7 @@ describe('Route', () => {
|
|||
describe('setTicketsRoute()', () => {
|
||||
it('should perform a POST query to add tickets to the route', done => {
|
||||
controller.$.possibleTicketsModel = {save: () => {}};
|
||||
spyOn(controller.$.possibleTicketsModel, 'save').and.returnValue(Promise.resolve());
|
||||
jest.spyOn(controller.$.possibleTicketsModel, 'save').mockReturnValue(Promise.resolve());
|
||||
controller.$.model = {data: [
|
||||
{id: 1, checked: false}
|
||||
]};
|
||||
|
|
|
@ -23,14 +23,14 @@ describe('Ticket', () => {
|
|||
|
||||
describe('ticket() setter', () => {
|
||||
it('should set ticket property and call onChangeClient() method', () => {
|
||||
spyOn(controller, 'onChangeClient');
|
||||
jest.spyOn(controller, 'onChangeClient');
|
||||
controller.ticket = {id: 1, clientFk: 101};
|
||||
|
||||
expect(controller.onChangeClient).toHaveBeenCalledWith(101);
|
||||
});
|
||||
|
||||
it(`should not call onChangeClient() method as the ticket doesn't have an ID`, () => {
|
||||
spyOn(controller, 'onChangeClient');
|
||||
jest.spyOn(controller, 'onChangeClient');
|
||||
controller.ticket = {};
|
||||
|
||||
expect(controller.onChangeClient).not.toHaveBeenCalledWith();
|
||||
|
@ -47,7 +47,7 @@ describe('Ticket', () => {
|
|||
|
||||
describe('clientId() setter', () => {
|
||||
it('should set clientId property and call onChangeClient() method ', () => {
|
||||
spyOn(controller, 'onChangeClient');
|
||||
jest.spyOn(controller, 'onChangeClient');
|
||||
controller.ticket = {id: 1, clientId: 101};
|
||||
controller.clientId = 102;
|
||||
|
||||
|
@ -65,7 +65,7 @@ describe('Ticket', () => {
|
|||
|
||||
describe('addressId() setter', () => {
|
||||
it('should set addressId property and call getShipped() method ', () => {
|
||||
spyOn(controller, 'getShipped');
|
||||
jest.spyOn(controller, 'getShipped');
|
||||
controller.ticket.addressFk = 99;
|
||||
controller.addressId = 100;
|
||||
const landed = new Date();
|
||||
|
@ -92,7 +92,7 @@ describe('Ticket', () => {
|
|||
|
||||
describe('warehouseId() setter', () => {
|
||||
it('should set warehouseId property and call getShipped() method ', () => {
|
||||
spyOn(controller, 'getShipped');
|
||||
jest.spyOn(controller, 'getShipped');
|
||||
controller.ticket.warehouseId = 1;
|
||||
controller.warehouseId = 2;
|
||||
const landed = new Date();
|
||||
|
@ -120,7 +120,7 @@ describe('Ticket', () => {
|
|||
|
||||
describe('shipped() setter', () => {
|
||||
it('should set shipped property and call getLanded() method ', () => {
|
||||
spyOn(controller, 'getLanded');
|
||||
jest.spyOn(controller, 'getLanded');
|
||||
const shipped = new Date();
|
||||
const expectedResult = {
|
||||
shipped: shipped,
|
||||
|
@ -145,7 +145,7 @@ describe('Ticket', () => {
|
|||
|
||||
describe('landed() setter', () => {
|
||||
it('should set shipped property and call getShipped() method ', () => {
|
||||
spyOn(controller, 'getShipped');
|
||||
jest.spyOn(controller, 'getShipped');
|
||||
const landed = new Date();
|
||||
const expectedResult = {
|
||||
landed: landed,
|
||||
|
@ -170,7 +170,7 @@ describe('Ticket', () => {
|
|||
|
||||
describe('agencyModeId() setter', () => {
|
||||
it('should set agencyModeId property and call getLanded() method', () => {
|
||||
spyOn(controller, 'getLanded');
|
||||
jest.spyOn(controller, 'getLanded');
|
||||
const shipped = new Date();
|
||||
const agencyModeId = 8;
|
||||
const expectedResult = {
|
||||
|
@ -186,7 +186,7 @@ describe('Ticket', () => {
|
|||
});
|
||||
|
||||
it('should do nothing if attempting to set the same agencyMode id', () => {
|
||||
spyOn(controller, 'getShipped');
|
||||
jest.spyOn(controller, 'getShipped');
|
||||
const landed = new Date();
|
||||
const agencyModeId = 7;
|
||||
const expectedResult = {
|
||||
|
@ -213,7 +213,7 @@ describe('Ticket', () => {
|
|||
describe('zoneId() setter', () => {
|
||||
it('should set zoneId property and call onChangeZone() method ', () => {
|
||||
const zoneId = 5;
|
||||
spyOn(controller, 'onChangeZone');
|
||||
jest.spyOn(controller, 'onChangeZone');
|
||||
controller.ticket = {id: 1};
|
||||
controller.zoneId = 5;
|
||||
|
||||
|
@ -222,7 +222,7 @@ describe('Ticket', () => {
|
|||
|
||||
it('should do nothing if attempting to set the same zone id', () => {
|
||||
const zoneId = 5;
|
||||
spyOn(controller, 'onChangeZone');
|
||||
jest.spyOn(controller, 'onChangeZone');
|
||||
controller.ticket = {id: 1, zoneFk: zoneId};
|
||||
controller.zoneId = zoneId;
|
||||
|
||||
|
|
|
@ -26,8 +26,8 @@
|
|||
<vn-th style="text-align:center">Description</vn-th>
|
||||
<vn-th number>Quantity</vn-th>
|
||||
<vn-th number>Price (PPU)</vn-th>
|
||||
<vn-th number>New price (PPU)</vn-th>
|
||||
<vn-th number>Price difference</vn-th>
|
||||
<vn-th number>New (PPU)</vn-th>
|
||||
<vn-th number>Difference</vn-th>
|
||||
</vn-tr>
|
||||
</vn-thead>
|
||||
<vn-tbody>
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
Price (PPU): Precio (Ud.)
|
||||
New price (PPU): Nuevo precio (Ud.)
|
||||
Price difference: Diferencia de precio
|
||||
New (PPU): Nuevo (Ud.)
|
||||
Difference: Diferencia
|
||||
Charge difference to: Cargar diferencia a
|
|
@ -22,7 +22,7 @@ describe('ticket Component vnTicketDescriptorPopover', () => {
|
|||
it(`should not apply any changes if the received id is the same stored in _ticketFk`, () => {
|
||||
controller.ticket = 'I exist!';
|
||||
controller._ticketFk = 1;
|
||||
spyOn(controller, 'getCard');
|
||||
jest.spyOn(controller, 'getCard');
|
||||
controller.ticketFk = 1;
|
||||
|
||||
expect(controller.ticket).toEqual('I exist!');
|
||||
|
@ -33,7 +33,7 @@ describe('ticket Component vnTicketDescriptorPopover', () => {
|
|||
it(`should set the received id into _ticketFk, set the ticket to null and then call getCard()`, () => {
|
||||
controller.ticket = `Please don't`;
|
||||
controller._ticketFk = 1;
|
||||
spyOn(controller, 'getCard');
|
||||
jest.spyOn(controller, 'getCard');
|
||||
controller.ticketFk = 999;
|
||||
|
||||
expect(controller.ticket).toBeNull();
|
||||
|
@ -44,7 +44,7 @@ describe('ticket Component vnTicketDescriptorPopover', () => {
|
|||
|
||||
describe('ticket()', () => {
|
||||
it(`should save the ticket into _ticket and then call relocate()`, () => {
|
||||
spyOn(controller.$.popover, 'relocate');
|
||||
jest.spyOn(controller.$.popover, 'relocate');
|
||||
controller.ticket = `i'm the ticket!`;
|
||||
$timeout.flush();
|
||||
|
||||
|
@ -55,7 +55,7 @@ describe('ticket Component vnTicketDescriptorPopover', () => {
|
|||
|
||||
describe('show()', () => {
|
||||
it(`should call the show()`, () => {
|
||||
spyOn(controller.$.popover, 'show');
|
||||
jest.spyOn(controller.$.popover, 'show');
|
||||
controller.show();
|
||||
|
||||
expect(controller.$.popover.show).toHaveBeenCalledWith();
|
||||
|
|
|
@ -29,7 +29,7 @@ describe('Ticket Component vnTicketDescriptor', () => {
|
|||
describe('showAddTurnDialog()', () => {
|
||||
it('should call controller.$.addTurn.show()', () => {
|
||||
controller.$.addTurn = {show: () => {}};
|
||||
spyOn(controller.$.addTurn, 'show');
|
||||
jest.spyOn(controller.$.addTurn, 'show');
|
||||
controller.showAddTurnDialog();
|
||||
|
||||
expect(controller.$.addTurn.show).toHaveBeenCalledWith();
|
||||
|
@ -39,7 +39,7 @@ describe('Ticket Component vnTicketDescriptor', () => {
|
|||
describe('addTurn()', () => {
|
||||
it('should make a query and call $.addTurn.hide() and vnApp.showSuccess()', () => {
|
||||
controller.$.addTurn = {hide: () => {}};
|
||||
spyOn(controller.$.addTurn, 'hide');
|
||||
jest.spyOn(controller.$.addTurn, 'hide');
|
||||
|
||||
$httpBackend.expectPATCH(`TicketWeeklies`).respond();
|
||||
controller.addTurn(1);
|
||||
|
@ -52,7 +52,7 @@ describe('Ticket Component vnTicketDescriptor', () => {
|
|||
describe('showDeleteTicketDialog()', () => {
|
||||
it('should call vnApp.showError() if the ticket isnt editable', () => {
|
||||
controller.ticket.tracking = {state: {alertLevel: 3}};
|
||||
spyOn(controller.vnApp, 'showError');
|
||||
jest.spyOn(controller.vnApp, 'showError');
|
||||
controller.showDeleteTicketDialog();
|
||||
|
||||
expect(controller.vnApp.showError).toHaveBeenCalledWith('This ticket cant be deleted');
|
||||
|
@ -61,7 +61,7 @@ describe('Ticket Component vnTicketDescriptor', () => {
|
|||
it('should call deleteConfirmation.show() if the ticket is editable', () => {
|
||||
controller.ticket.tracking = {state: {alertLevel: 0}};
|
||||
controller.$.deleteConfirmation = {show: () => {}};
|
||||
spyOn(controller.$.deleteConfirmation, 'show');
|
||||
jest.spyOn(controller.$.deleteConfirmation, 'show');
|
||||
controller.showDeleteTicketDialog();
|
||||
|
||||
expect(controller.$.deleteConfirmation.show).toHaveBeenCalledWith();
|
||||
|
@ -70,8 +70,8 @@ describe('Ticket Component vnTicketDescriptor', () => {
|
|||
|
||||
describe('deleteTicket()', () => {
|
||||
it('should make a query and call vnApp.showSuccess() if the response is accept', () => {
|
||||
spyOn(controller.$state, 'go');
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller.$state, 'go').mockReturnValue('ok');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
|
||||
$httpBackend.expectPOST(`Tickets/2/setDeleted`).respond();
|
||||
controller.deleteTicket('accept');
|
||||
|
@ -90,7 +90,7 @@ describe('Ticket Component vnTicketDescriptor', () => {
|
|||
};
|
||||
const serializedParams = $httpParamSerializer(params);
|
||||
let expectedPath = `api/report/delivery-note?${serializedParams}`;
|
||||
spyOn(window, 'open');
|
||||
jest.spyOn(window, 'open').mockReturnThis();
|
||||
controller.showDeliveryNote();
|
||||
|
||||
expect(window.open).toHaveBeenCalledWith(expectedPath);
|
||||
|
@ -99,7 +99,7 @@ describe('Ticket Component vnTicketDescriptor', () => {
|
|||
|
||||
describe('sendDeliveryNote()', () => {
|
||||
it('should make a query and call vnApp.showMessage()', () => {
|
||||
spyOn(controller.vnApp, 'showMessage');
|
||||
jest.spyOn(controller.vnApp, 'showMessage');
|
||||
|
||||
const params = {
|
||||
recipient: 'client@email',
|
||||
|
@ -119,8 +119,8 @@ describe('Ticket Component vnTicketDescriptor', () => {
|
|||
|
||||
describe('makeInvoice()', () => {
|
||||
it('should make a query and call $state.reload() method if the response is accept', () => {
|
||||
spyOn(controller.$state, 'reload');
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller.$state, 'reload').mockReturnThis();
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
|
||||
$httpBackend.when('POST', 'Tickets/2/makeInvoice').respond();
|
||||
$httpBackend.expect('POST', 'Tickets/2/makeInvoice').respond();
|
||||
|
@ -134,7 +134,7 @@ describe('Ticket Component vnTicketDescriptor', () => {
|
|||
|
||||
describe('regenerateInvoice()', () => {
|
||||
it('should make a query and show a success snackbar if the response is accept', () => {
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
|
||||
$httpBackend.when('POST', 'InvoiceOuts/1/regenerate').respond();
|
||||
$httpBackend.expect('POST', 'InvoiceOuts/1/regenerate').respond();
|
||||
|
@ -148,8 +148,8 @@ describe('Ticket Component vnTicketDescriptor', () => {
|
|||
describe('changeShipped()', () => {
|
||||
it('should make a query and change the shipped hour if the response is accept', () => {
|
||||
controller.ticket.id = 12;
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
spyOn(controller, 'cardReload');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller, 'cardReload');
|
||||
|
||||
$httpBackend.when('POST', 'Tickets/12/updateEditableTicket').respond();
|
||||
$httpBackend.expect('POST', 'Tickets/12/updateEditableTicket').respond();
|
||||
|
@ -185,7 +185,7 @@ describe('Ticket Component vnTicketDescriptor', () => {
|
|||
describe('canStowaway()', () => {
|
||||
it('should make a query and return if the ticket can be stowawayed', () => {
|
||||
controller.ticket.id = 16;
|
||||
spyOn(controller, 'isTicketModule').and.callThrough();
|
||||
jest.spyOn(controller, 'isTicketModule');
|
||||
$httpBackend.when('GET', 'Tickets/16/canHaveStowaway').respond(true);
|
||||
$httpBackend.expect('GET', 'Tickets/16/canHaveStowaway').respond(true);
|
||||
controller.canStowaway();
|
||||
|
@ -203,7 +203,7 @@ describe('Ticket Component vnTicketDescriptor', () => {
|
|||
{state: {name: 'client'}}
|
||||
];
|
||||
};
|
||||
spyOn(controller, 'isTicketModule').and.callThrough();
|
||||
jest.spyOn(controller, 'isTicketModule');
|
||||
controller.canStowaway();
|
||||
|
||||
expect(controller.canShowStowaway).toBeUndefined();
|
||||
|
@ -213,7 +213,7 @@ describe('Ticket Component vnTicketDescriptor', () => {
|
|||
|
||||
describe('recalculateComponents()', () => {
|
||||
it('should make a query and show a success snackbar', () => {
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
|
||||
$httpBackend.when('POST', 'Tickets/2/recalculateComponents').respond();
|
||||
$httpBackend.expect('POST', 'Tickets/2/recalculateComponents').respond();
|
||||
|
|
|
@ -24,8 +24,8 @@ describe('Ticket', () => {
|
|||
|
||||
describe('client() setter', () => {
|
||||
it('should set the ticket data and then call setDefaultParams() and getAllowedContentTypes()', () => {
|
||||
spyOn(controller, 'setDefaultParams');
|
||||
spyOn(controller, 'getAllowedContentTypes');
|
||||
jest.spyOn(controller, 'setDefaultParams');
|
||||
jest.spyOn(controller, 'getAllowedContentTypes');
|
||||
controller.ticket = {
|
||||
id: 15,
|
||||
name: 'Bruce wayne'
|
||||
|
|
|
@ -19,8 +19,8 @@ describe('Ticket', () => {
|
|||
|
||||
describe('ticket() setter', () => {
|
||||
it('should set the ticket data and then call setDefaultParams() and getAllowedContentTypes()', () => {
|
||||
spyOn(controller, 'setDefaultParams');
|
||||
spyOn(controller, 'getAllowedContentTypes');
|
||||
jest.spyOn(controller, 'setDefaultParams');
|
||||
jest.spyOn(controller, 'getAllowedContentTypes');
|
||||
controller._ticket = undefined;
|
||||
controller.ticket = {
|
||||
id: 15
|
||||
|
|
|
@ -22,8 +22,8 @@ describe('Ticket', () => {
|
|||
it('should make an HTTP Post query', () => {
|
||||
const dmsId = 1;
|
||||
const dmsIndex = 0;
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
spyOn(controller.$.model, 'remove');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller.$.model, 'remove');
|
||||
controller.ticketDms = [{dmsFk: 1}];
|
||||
controller.dmsIndex = dmsIndex;
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ describe('Ticket', () => {
|
|||
|
||||
describe('returnDialog()', () => {
|
||||
it('should perform a DELETE query', () => {
|
||||
spyOn($scope.model, 'refresh');
|
||||
jest.spyOn($scope.model, 'refresh');
|
||||
|
||||
let response = 'accept';
|
||||
controller.expeditionId = 1;
|
||||
|
|
|
@ -69,7 +69,7 @@ describe('Component vnTicketIndex', () => {
|
|||
describe('preview()', () => {
|
||||
it('should show the dialog summary', () => {
|
||||
controller.$.summary = {show: () => {}};
|
||||
spyOn(controller.$.summary, 'show');
|
||||
jest.spyOn(controller.$.summary, 'show');
|
||||
|
||||
let event = new MouseEvent('click', {
|
||||
view: $window,
|
||||
|
|
|
@ -207,7 +207,7 @@ class Controller {
|
|||
|
||||
onStateChange(value) {
|
||||
let params = {ticketFk: this.$state.params.id, stateFk: value};
|
||||
this.$http.post(`TicketTrackings/changeState`, params).then(() => {
|
||||
this.$http.post('TicketTrackings/changeState', params).then(() => {
|
||||
this.card.reload();
|
||||
this.vnApp.showSuccess(this.$translate.instant('Data saved!'));
|
||||
}).finally(() => {
|
||||
|
|
|
@ -26,7 +26,7 @@ describe('Ticket', () => {
|
|||
|
||||
describe('edit() setter', () => {
|
||||
it('should set _edit value and call setNewDiscount', () => {
|
||||
spyOn(controller, 'setNewDiscount');
|
||||
jest.spyOn(controller, 'setNewDiscount');
|
||||
controller.edit = {id: 1};
|
||||
|
||||
expect(controller.edit).toEqual({id: 1});
|
||||
|
@ -36,7 +36,7 @@ describe('Ticket', () => {
|
|||
|
||||
describe('bulk() setter', () => {
|
||||
it('should set _bulk value and call setNewDiscount', () => {
|
||||
spyOn(controller, 'setNewDiscount');
|
||||
jest.spyOn(controller, 'setNewDiscount');
|
||||
controller.bulk = true;
|
||||
|
||||
expect(controller.bulk).toEqual(true);
|
||||
|
@ -68,7 +68,7 @@ describe('Ticket', () => {
|
|||
controller.bulk = false;
|
||||
controller.newDiscount = 15;
|
||||
controller.edit = [{discount: 15}];
|
||||
spyOn(controller.vnApp, 'showError');
|
||||
jest.spyOn(controller.vnApp, 'showError');
|
||||
controller.updateDiscount();
|
||||
|
||||
expect(controller.vnApp.showError).toHaveBeenCalledWith('There are no changes to save');
|
||||
|
|
|
@ -61,7 +61,7 @@ describe('Ticket', () => {
|
|||
|
||||
describe('createClaim()', () => {
|
||||
it('should perform a query and call windows open', () => {
|
||||
spyOn(controller.$state, 'go');
|
||||
jest.spyOn(controller.$state, 'go');
|
||||
|
||||
const claim = {id: 1};
|
||||
const sales = [{id: 1}, {id: 2}];
|
||||
|
@ -112,7 +112,7 @@ describe('Ticket', () => {
|
|||
let filter = {where: {code: 'OK'}, fields: ['id']};
|
||||
filter = encodeURIComponent(JSON.stringify(filter));
|
||||
let res = [{id: 3}];
|
||||
spyOn(controller, 'onStateChange');
|
||||
jest.spyOn(controller, 'onStateChange').mockReturnThis();
|
||||
|
||||
$httpBackend.whenGET(`States?filter=${filter}`).respond(res);
|
||||
$httpBackend.expectGET(`Tickets/1/subtotal`).respond(200, 227.5);
|
||||
|
@ -156,7 +156,7 @@ describe('Ticket', () => {
|
|||
|
||||
describe('unmarkAsReserved()', () => {
|
||||
it('should call setReserved with false', () => {
|
||||
spyOn(controller, 'setReserved');
|
||||
jest.spyOn(controller, 'setReserved');
|
||||
|
||||
controller.unmarkAsReserved(false);
|
||||
|
||||
|
@ -166,7 +166,7 @@ describe('Ticket', () => {
|
|||
|
||||
describe('markAsReserved()', () => {
|
||||
it('should call setReserved with true', () => {
|
||||
spyOn(controller, 'setReserved');
|
||||
jest.spyOn(controller, 'setReserved');
|
||||
|
||||
controller.markAsReserved(true);
|
||||
|
||||
|
@ -196,7 +196,7 @@ describe('Ticket', () => {
|
|||
|
||||
describe('showSMSDialog()', () => {
|
||||
it('should open an SMS dialog with specified data', () => {
|
||||
spyOn(controller.$scope.sms, 'open');
|
||||
jest.spyOn(controller.$scope.sms, 'open');
|
||||
|
||||
controller.sales[0].checked = true;
|
||||
controller.showSMSDialog();
|
||||
|
@ -209,7 +209,7 @@ describe('Ticket', () => {
|
|||
|
||||
describe('updateQuantity()', () => {
|
||||
it('should make a POST query saving sale quantity', () => {
|
||||
spyOn(controller.$scope.watcher, 'updateOriginalData');
|
||||
jest.spyOn(controller.$scope.watcher, 'updateOriginalData');
|
||||
const data = {quantity: 10};
|
||||
const sale = sales[0];
|
||||
sale.quantity = 10;
|
||||
|
@ -229,7 +229,7 @@ describe('Ticket', () => {
|
|||
|
||||
describe('updateConcept()', () => {
|
||||
it('should make a POST query saving sale concept', () => {
|
||||
spyOn(controller.$scope.watcher, 'updateOriginalData');
|
||||
jest.spyOn(controller.$scope.watcher, 'updateOriginalData');
|
||||
const data = {newConcept: 'My new weapon'};
|
||||
const sale = sales[0];
|
||||
sale.concept = 'My new weapon';
|
||||
|
@ -249,7 +249,7 @@ describe('Ticket', () => {
|
|||
|
||||
describe('addSale()', () => {
|
||||
it('should make a POST query adding a new sale', () => {
|
||||
spyOn(controller.$scope.watcher, 'updateOriginalData');
|
||||
jest.spyOn(controller.$scope.watcher, 'updateOriginalData');
|
||||
const newSale = {itemFk: 4, quantity: 10};
|
||||
const params = {itemId: 4, quantity: 10};
|
||||
|
||||
|
@ -280,7 +280,7 @@ describe('Ticket', () => {
|
|||
|
||||
describe('transferSales()', () => {
|
||||
it('should transfer sales to a ticket', () => {
|
||||
spyOn(controller, 'goToTicket');
|
||||
jest.spyOn(controller, 'goToTicket');
|
||||
controller.transfer = {
|
||||
sales: [{id: 1, itemFk: 1}, {id: 2, itemFk: 4}]
|
||||
};
|
||||
|
|
|
@ -26,7 +26,7 @@ describe('Ticket', () => {
|
|||
let params = {destinationFk: 101, destination: 111111111, message: 'My SMS'};
|
||||
controller.sms = {destinationFk: 101, destination: 111111111, message: 'My SMS'};
|
||||
|
||||
spyOn(controller.vnApp, 'showMessage');
|
||||
jest.spyOn(controller.vnApp, 'showMessage');
|
||||
$httpBackend.expect('POST', `Tickets/11/sendSms`, params).respond(200, params);
|
||||
|
||||
controller.onResponse('accept');
|
||||
|
@ -38,7 +38,7 @@ describe('Ticket', () => {
|
|||
it('should call onResponse without the destination and show an error snackbar', () => {
|
||||
controller.sms = {destinationFk: 101, message: 'My SMS'};
|
||||
|
||||
spyOn(controller.vnApp, 'showError');
|
||||
jest.spyOn(controller.vnApp, 'showError');
|
||||
|
||||
controller.onResponse('accept');
|
||||
|
||||
|
@ -48,7 +48,7 @@ describe('Ticket', () => {
|
|||
it('should call onResponse without the message and show an error snackbar', () => {
|
||||
controller.sms = {destinationFk: 101, destination: 222222222};
|
||||
|
||||
spyOn(controller.vnApp, 'showError');
|
||||
jest.spyOn(controller.vnApp, 'showError');
|
||||
|
||||
controller.onResponse('accept');
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ describe('Ticket', () => {
|
|||
}));
|
||||
|
||||
describe('ticket()', () => {
|
||||
it('should perform a GET query and define summary property', () => {
|
||||
it('should perform a GET query and define the summary property', () => {
|
||||
let res = {id: 1, nickname: 'Batman'};
|
||||
$httpBackend.when('GET', `Tickets/1/summary`).respond(200, res);
|
||||
$httpBackend.expect('GET', `Tickets/1/summary`);
|
||||
|
|
|
@ -55,10 +55,10 @@ describe('Ticket', () => {
|
|||
describe('onSubmit()', () => {
|
||||
it('should POST the data, call updateOriginalData, reload, showSuccess and go functions', () => {
|
||||
controller.params = {stateFk: 22, workerFk: 101};
|
||||
spyOn(controller.card, 'reload');
|
||||
spyOn(controller.$.watcher, 'updateOriginalData');
|
||||
spyOn(controller.vnApp, 'showSuccess');
|
||||
spyOn(controller.$state, 'go');
|
||||
jest.spyOn(controller.card, 'reload');
|
||||
jest.spyOn(controller.$.watcher, 'updateOriginalData');
|
||||
jest.spyOn(controller.vnApp, 'showSuccess');
|
||||
jest.spyOn(controller.$state, 'go');
|
||||
|
||||
$httpBackend.expectPOST(`TicketTrackings/changeState`, controller.params).respond({});
|
||||
controller.onSubmit();
|
||||
|
|
|
@ -24,7 +24,7 @@ describe('ticket', () => {
|
|||
|
||||
describe('sales() setter', () => {
|
||||
it('should set sales property on controller an then call applyVolumes() method', () => {
|
||||
spyOn(controller, 'applyVolumes');
|
||||
jest.spyOn(controller, 'applyVolumes');
|
||||
|
||||
controller.sales = [{id: 1}];
|
||||
|
||||
|
@ -34,7 +34,7 @@ describe('ticket', () => {
|
|||
|
||||
describe('volumes() setter', () => {
|
||||
it('should set volumes property on controller an then call applyVolumes() method', () => {
|
||||
spyOn(controller, 'applyVolumes');
|
||||
jest.spyOn(controller, 'applyVolumes');
|
||||
|
||||
controller.volumes = [{id: 1}];
|
||||
|
||||
|
|
|
@ -63,6 +63,10 @@ module.exports = Self => {
|
|||
type: 'Number',
|
||||
description: 'The totalEntries filter',
|
||||
http: {source: 'query'}
|
||||
}, {
|
||||
arg: 'ref',
|
||||
type: 'string',
|
||||
description: 'The reference'
|
||||
}
|
||||
],
|
||||
returns: {
|
||||
|
@ -80,9 +84,11 @@ module.exports = Self => {
|
|||
let where = buildFilter(ctx.args, (param, value) => {
|
||||
switch (param) {
|
||||
case 'search':
|
||||
return {'t.id': value};
|
||||
return /^\d+$/.test(value)
|
||||
? {'t.id': value}
|
||||
: {'t.ref': {like: `%${value}%`}};
|
||||
case 'ref':
|
||||
return {[param]: {regexp: value}};
|
||||
return {'t.ref': {like: `%${value}%`}};
|
||||
case 'shippedFrom':
|
||||
return {'t.shipped': {gte: value}};
|
||||
case 'shippedTo':
|
||||
|
|
|
@ -2,38 +2,53 @@ const app = require('vn-loopback/server/server');
|
|||
|
||||
describe('Travel filter()', () => {
|
||||
it('should return the travel matching "search"', async() => {
|
||||
let ctx = {
|
||||
const ctx = {
|
||||
args: {
|
||||
search: 1
|
||||
}
|
||||
};
|
||||
|
||||
let result = await app.models.Travel.filter(ctx);
|
||||
const result = await app.models.Travel.filter(ctx);
|
||||
const firstRow = result[0];
|
||||
|
||||
expect(result.length).toEqual(1);
|
||||
expect(result[0].id).toEqual(1);
|
||||
expect(firstRow.id).toEqual(1);
|
||||
});
|
||||
|
||||
it('should return the travel matching "search" by ref', async() => {
|
||||
const ctx = {
|
||||
args: {
|
||||
search: 'third'
|
||||
}
|
||||
};
|
||||
|
||||
const result = await app.models.Travel.filter(ctx);
|
||||
const firstRow = result[0];
|
||||
|
||||
expect(result.length).toEqual(1);
|
||||
expect(firstRow.id).toEqual(3);
|
||||
});
|
||||
|
||||
it('should return the travel matching "warehouse out"', async() => {
|
||||
let ctx = {
|
||||
const ctx = {
|
||||
args: {
|
||||
warehouseOutFk: 2
|
||||
}
|
||||
};
|
||||
|
||||
let result = await app.models.Travel.filter(ctx);
|
||||
const result = await app.models.Travel.filter(ctx);
|
||||
|
||||
expect(result.length).toEqual(8);
|
||||
});
|
||||
|
||||
it('should return the travel matching "total entries"', async() => {
|
||||
let ctx = {
|
||||
const ctx = {
|
||||
args: {
|
||||
totalEntries: 1,
|
||||
}
|
||||
};
|
||||
|
||||
let result = await app.models.Travel.filter(ctx);
|
||||
const result = await app.models.Travel.filter(ctx);
|
||||
|
||||
expect(result.length).toEqual(5);
|
||||
});
|
||||
|
@ -44,14 +59,14 @@ describe('Travel filter()', () => {
|
|||
from.setHours(0, 0, 0, 0);
|
||||
to.setHours(23, 59, 59, 999);
|
||||
to.setDate(to.getDate() + 1);
|
||||
let ctx = {
|
||||
const ctx = {
|
||||
args: {
|
||||
shippedFrom: from,
|
||||
shippedTo: to
|
||||
}
|
||||
};
|
||||
|
||||
let result = await app.models.Travel.filter(ctx);
|
||||
const result = await app.models.Travel.filter(ctx);
|
||||
|
||||
expect(result.length).toEqual(1);
|
||||
});
|
||||
|
|
|
@ -16,8 +16,8 @@ describe('Travel Component vnTravelBasicData', () => {
|
|||
|
||||
describe('onSubmit()', () => {
|
||||
it('should call the card reload method after the watcher submits', done => {
|
||||
spyOn(controller.card, 'reload');
|
||||
spyOn(controller.$.watcher, 'submit').and.returnValue(Promise.resolve());
|
||||
jest.spyOn(controller.card, 'reload');
|
||||
jest.spyOn(controller.$.watcher, 'submit').mockReturnValue(Promise.resolve());
|
||||
|
||||
controller.onSubmit().then(() => {
|
||||
expect(controller.card.reload).toHaveBeenCalledWith();
|
||||
|
|
|
@ -19,7 +19,7 @@ describe('Travel Component vnTravelCreate', () => {
|
|||
|
||||
describe('onSubmit()', () => {
|
||||
it(`should call submit() on the watcher then expect a callback`, () => {
|
||||
spyOn($state, 'go');
|
||||
jest.spyOn($state, 'go');
|
||||
|
||||
controller.onSubmit();
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ describe('travel Component vnTravelDescriptorPopover', () => {
|
|||
it(`should not apply any changes if the received id is the same stored in _travelId`, () => {
|
||||
controller.travel = 'I exist!';
|
||||
controller._travelId = 1;
|
||||
spyOn(controller, 'loadData');
|
||||
jest.spyOn(controller, 'loadData');
|
||||
controller.travelId = 1;
|
||||
|
||||
expect(controller.travel).toEqual('I exist!');
|
||||
|
@ -33,7 +33,7 @@ describe('travel Component vnTravelDescriptorPopover', () => {
|
|||
it(`should set the received id into _travelId, set the travel to null and then call loadData()`, () => {
|
||||
controller.travel = `Please don't`;
|
||||
controller._travelId = 1;
|
||||
spyOn(controller, 'loadData');
|
||||
jest.spyOn(controller, 'loadData');
|
||||
controller.travelId = 999;
|
||||
|
||||
expect(controller.travel).toBeNull();
|
||||
|
@ -44,7 +44,7 @@ describe('travel Component vnTravelDescriptorPopover', () => {
|
|||
|
||||
describe('show()', () => {
|
||||
it(`should call the show()`, () => {
|
||||
spyOn(controller.$.popover, 'show');
|
||||
jest.spyOn(controller.$.popover, 'show');
|
||||
controller.show();
|
||||
|
||||
expect(controller.$.popover.show).toHaveBeenCalledWith();
|
||||
|
|
|
@ -21,9 +21,9 @@ describe('component vnTravelSummary', () => {
|
|||
|
||||
describe('travel setter/getter', () => {
|
||||
it('should return the travel and then call both getTravel() and getEntries()', () => {
|
||||
spyOn(controller, 'getTravel');
|
||||
spyOn(controller, 'getEntries');
|
||||
spyOn(controller, 'getThermographs');
|
||||
jest.spyOn(controller, 'getTravel');
|
||||
jest.spyOn(controller, 'getEntries');
|
||||
jest.spyOn(controller, 'getThermographs');
|
||||
controller.travel = {id: 99};
|
||||
|
||||
|
||||
|
|
|
@ -23,8 +23,8 @@ describe('Ticket', () => {
|
|||
|
||||
describe('travel() setter', () => {
|
||||
it('should set the travel data and then call setDefaultParams() and getAllowedContentTypes()', () => {
|
||||
spyOn(controller, 'setDefaultParams');
|
||||
spyOn(controller, 'getAllowedContentTypes');
|
||||
jest.spyOn(controller, 'setDefaultParams');
|
||||
jest.spyOn(controller, 'getAllowedContentTypes');
|
||||
controller.travel = {
|
||||
id: travelId
|
||||
};
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
"name": {
|
||||
"type": "String"
|
||||
},
|
||||
"rgb": {
|
||||
"hexColour": {
|
||||
"type": "String"
|
||||
}
|
||||
},
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue