diff --git a/client/ticket/src/sale/index.html b/client/ticket/src/sale/index.html index ffe30b4ac..65b533e5e 100644 --- a/client/ticket/src/sale/index.html +++ b/client/ticket/src/sale/index.html @@ -4,12 +4,6 @@ filter="{}" data="sales" on-data-change="$ctrl.onDataChange()"> - - - - @@ -53,10 +47,9 @@ - + + data="$ctrl.sales"> @@ -71,10 +64,9 @@ - + + field="sale.checked"> @@ -140,7 +132,7 @@ - + diff --git a/services/loopback/common/methods/item/specs/clone.spec.js b/services/loopback/common/methods/item/specs/clone.spec.js index 816a94e7b..137fbc792 100644 --- a/services/loopback/common/methods/item/specs/clone.spec.js +++ b/services/loopback/common/methods/item/specs/clone.spec.js @@ -20,14 +20,14 @@ describe('item clone()', () => { }); it('should attempt to clone the given item but give an error as it doesnt exist', async() => { - let result; - try { - let itemFk = 999; - result = await app.models.Item.clone(itemFk); - } catch (error) { - expect(error.toString()).toContain('Cannot convert undefined or null to object'); - } + let error; + let itemFk = 999; + await app.models.Item.clone(itemFk) + .catch(e => { + expect(e.message).toContain('Cannot convert undefined or null to object'); + error = e; + }); - expect(result).toBeFalsy(); + expect(error).toBeDefined(); }); }); diff --git a/services/loopback/common/methods/item/specs/updateTaxes.spec.js b/services/loopback/common/methods/item/specs/updateTaxes.spec.js new file mode 100644 index 000000000..aa30ed8cd --- /dev/null +++ b/services/loopback/common/methods/item/specs/updateTaxes.spec.js @@ -0,0 +1,40 @@ +const app = require(`${servicesDir}/item/server/server`); + +describe('item updateTaxes()', () => { + afterAll(async() => { + let taxesInFixtures = [{id: 509368, taxClassFk: 1}]; + + await app.models.Item.updateTaxes(taxesInFixtures); + }); + + it('should throw an error if the taxClassFk is blank', async() => { + let error; + let taxes = [{id: 509368, taxClassFk: undefined}]; + + await app.models.Item.updateTaxes(taxes) + .catch(err => { + expect(err.message).toEqual('Tax class cannot be blank'); + error = err; + }); + + expect(error).toBeDefined(); + }); + + it('should update the tax of a given country of an item', async() => { + let taxCountry = await app.models.ItemTaxCountry.findById(509368); + + expect(taxCountry.taxClassFk).toEqual(1); + + let taxes = [{id: 509368, taxClassFk: 2}]; + + let result = await app.models.Item.updateTaxes(taxes); + + expect(result).toBeTruthy(); + }); + + it('should confirm the tax class was updated', async() => { + let taxCountry = await app.models.ItemTaxCountry.findById(509368); + + expect(taxCountry.taxClassFk).toEqual(2); + }); +}); diff --git a/services/loopback/common/methods/item/updateTaxes.js b/services/loopback/common/methods/item/updateTaxes.js index 02065be20..53c073dbf 100644 --- a/services/loopback/common/methods/item/updateTaxes.js +++ b/services/loopback/common/methods/item/updateTaxes.js @@ -11,7 +11,7 @@ module.exports = Self => { description: 'The item id', http: {source: 'path'} }, { - arg: 'niches', + arg: 'taxes', type: ['object'], required: true, description: 'The list of taxes to update', @@ -27,7 +27,7 @@ module.exports = Self => { } }); - Self.updateTaxes = async(id, taxes) => { + Self.updateTaxes = async taxes => { let promises = []; for (let tax of taxes) { if (!tax.taxClassFk)