52 lines
1.7 KiB
JavaScript
52 lines
1.7 KiB
JavaScript
const models = require('vn-loopback/server/server').models;
|
|
|
|
describe('entry addFromBuy()', () => {
|
|
const ctx = {req: {accessToken: {userId: 18}}};
|
|
|
|
it('should change the printedStickers of an existent buy', async() => {
|
|
const id = 1;
|
|
const item = 1;
|
|
const buy = 1;
|
|
|
|
const tx = await models.Entry.beginTransaction({});
|
|
const options = {transaction: tx};
|
|
try {
|
|
const currentBuy = await models.Buy.findById(buy, {fields: ['printedStickers']}, options);
|
|
const printedStickers = currentBuy.printedStickers + 10;
|
|
ctx.args = {id, item, printedStickers};
|
|
const newBuy = await models.Entry.addFromBuy(ctx, options);
|
|
|
|
expect(newBuy.printedStickers).toEqual(printedStickers);
|
|
|
|
await tx.rollback();
|
|
} catch (e) {
|
|
await tx.rollback();
|
|
throw e;
|
|
}
|
|
});
|
|
|
|
it('should create for an entry without a concrete item a new buy', async() => {
|
|
const id = 8;
|
|
const item = 1;
|
|
const printedStickers = 10;
|
|
|
|
const tx = await models.Entry.beginTransaction({});
|
|
const options = {transaction: tx};
|
|
try {
|
|
const emptyBuy = await models.Buy.findOne({where: {entryFk: id}}, options);
|
|
ctx.args = {id, item, printedStickers};
|
|
const newBuy = await models.Entry.addFromBuy(ctx, options);
|
|
|
|
expect(emptyBuy).toEqual(null);
|
|
expect(newBuy.entryFk).toEqual(id);
|
|
expect(newBuy.printedStickers).toEqual(printedStickers);
|
|
expect(newBuy.itemFk).toEqual(item);
|
|
|
|
await tx.rollback();
|
|
} catch (e) {
|
|
await tx.rollback();
|
|
throw e;
|
|
}
|
|
});
|
|
});
|