const {models} = require('vn-loopback/server/server'); describe('operator add()', () => { const itBoss = 104; const noWorker = 100000; beforeAll(async() => { ctx = { req: { accessToken: {}, headers: {origin: 'http://localhost'}, __: value => value } }; }); it('should throw an error if the worker does not exist', async() => { const tx = await models.Operator.beginTransaction({}); const options = {transaction: tx}; ctx.req.accessToken.userId = noWorker; try { await models.Operator.add(ctx, options); await tx.rollback(); } catch (e) { const error = e; expect(error.message).toEqual('This worker does not exist'); await tx.rollback(); } }); it('should add a new operator successfully', async() => { const tx = await models.Operator.beginTransaction({}); const options = {transaction: tx}; ctx.req.accessToken.userId = itBoss; try { const operatorBefore = await models.Operator.find(null, options); await models.Operator.add(ctx, options); const operatorAfter = await models.Operator.find(null, options); const isOperator = await models.Operator.findOne(null, options); expect(operatorBefore.length).toEqual(operatorAfter.length - 1); expect(isOperator).toBeDefined(); await tx.rollback(); } catch (e) { await tx.rollback(); throw e; } }); });