const app = require(`${servicesDir}/ticket/server/server`);

describe('sale removes()', () => {
    let sale;
    let newsale;

    beforeAll(async() => {
        sale = await app.models.Sale.findOne({where: {id: 9}});
        sale.id = null;
        newsale = await app.models.Sale.create(sale);
    });

    it('should throw an error if the ticket of the given sales is not editable', async() => {
        let error;

        let params = {
            sales: [{id: 1, instance: 0}, {id: 2, instance: 1}],
            actualTicketFk: 2
        };

        try {
            await app.models.Sale.removes(params);
        } catch (e) {
            error = e;
        }

        expect(error).toEqual(new Error(`The sales of this ticket can't be modified`));
    });

    it('should delete the sales', async() => {
        let params = {
            sales: [{id: newsale.id, instance: 0}],
            actualTicketFk: 16
        };

        let res = await app.models.Sale.removes(params);

        expect(res).toEqual([{count: 1}]);
    });
});