diff --git a/src/use-cases/order.js b/src/use-cases/order.js index 3a4fd56..726e77f 100644 --- a/src/use-cases/order.js +++ b/src/use-cases/order.js @@ -28,7 +28,9 @@ class OrderLib { async createOrder (entryObj) { try { console.log('createOrder(entryObj): ', entryObj) - // if (!entryObj) return false + if (!entryObj) return false + + if (!entryObj.tokenId) throw new Error('entry does not contain required properties') // Specify the address to send payment. entryObj.makerAddr = this.adapters.wallet.bchWallet.walletInfo.cashAddress diff --git a/test/unit/use-cases/order.use-case.unit.js b/test/unit/use-cases/order.use-case.unit.js index f710845..32f62b2 100644 --- a/test/unit/use-cases/order.use-case.unit.js +++ b/test/unit/use-cases/order.use-case.unit.js @@ -125,12 +125,18 @@ describe('#order-use-case', () => { it('should catch and throw an error', async () => { try { - await uut.createOrder() + await uut.createOrder({ a: 'b' }) assert.fail('Unexpected code path') } catch (err) { - assert.include(err.message, 'Cannot set') + assert.include(err.message, 'entry does not contain required properties') } }) + + it('should exit quietly if the entry is empty', async () => { + const result = await uut.createOrder() + + assert.equal(result, false) + }) }) })