#531 moveToTicket.js Backend unit tests

This commit is contained in:
Carlos Jimenez 2018-08-17 13:23:07 +02:00
parent 4b7c87e6d0
commit 8706f5c6c0
1 changed files with 83 additions and 0 deletions

View File

@ -0,0 +1,83 @@
const app = require(`${servicesDir}/ticket/server/server`);
describe('sale moveToTicket()', () => {
it('should throw an error if the ticket is not editable', async() => {
let error;
let params = {actualTicketFk: 10};
await app.models.Sale.moveToTicket(params)
.catch(response => {
expect(response.message).toEqual(`The sales of this ticket can't be modified`);
error = response;
});
expect(error).toBeDefined();
});
it('should throw an error if the receiving ticket is not editable', async() => {
let error;
let params = {actualTicketFk: 1, newTicketFk: 10};
await app.models.Sale.moveToTicket(params)
.catch(response => {
expect(response.message).toEqual(`The sales of that ticket can't be modified`);
error = response;
});
expect(error).toBeDefined();
});
it('should transfer the sales from ticket 1 to ticket 13', async() => {
let senderTicketSales = await app.models.Ticket.getSales(1);
let receiverTicketSales = await app.models.Ticket.getSales(13);
expect(senderTicketSales.length).toEqual(4);
expect(receiverTicketSales.length).toEqual(0);
let params = {
actualTicketFk: 1,
newTicketFk: 13,
sales: [
{id: 1},
{id: 2},
{id: 3},
{id: 4}]
};
await app.models.Sale.moveToTicket(params);
senderTicketSales = await app.models.Ticket.getSales(1);
receiverTicketSales = await app.models.Ticket.getSales(13);
expect(senderTicketSales.length).toEqual(0);
expect(receiverTicketSales.length).toEqual(4);
});
it('should transfer the sales back from ticket 13 to ticket 1', async() => {
let senderTicketSales = await app.models.Ticket.getSales(13);
let receiverTicketSales = await app.models.Ticket.getSales(1);
expect(senderTicketSales.length).toEqual(4);
expect(receiverTicketSales.length).toEqual(0);
let params = {
actualTicketFk: 13,
newTicketFk: 1,
sales: [
{id: 1},
{id: 2},
{id: 3},
{id: 4}]
};
await app.models.Sale.moveToTicket(params);
senderTicketSales = await app.models.Ticket.getSales(13);
receiverTicketSales = await app.models.Ticket.getSales(1);
expect(senderTicketSales.length).toEqual(0);
expect(receiverTicketSales.length).toEqual(4);
});
});