From fddb5499f0e3cf84ec22cd8f85a92bc378eac7a8 Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Tue, 21 Oct 2025 12:29:23 -0700 Subject: [PATCH] Making offer use-case unit tests less flaky --- src/use-cases/offer/index.js | 2 +- test/unit/use-cases/offer.use-case.unit.js | 19 ++++++------------- 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/src/use-cases/offer/index.js b/src/use-cases/offer/index.js index 0999583..d0229fe 100644 --- a/src/use-cases/offer/index.js +++ b/src/use-cases/offer/index.js @@ -174,7 +174,7 @@ class OfferUseCases { return true } catch (err) { - console.error('Error in createOffer()', err.message) + console.error('\n\nError in createOffer()', err.message, '\n\n') throw err } } diff --git a/test/unit/use-cases/offer.use-case.unit.js b/test/unit/use-cases/offer.use-case.unit.js index 878a771..436bb97 100644 --- a/test/unit/use-cases/offer.use-case.unit.js +++ b/test/unit/use-cases/offer.use-case.unit.js @@ -112,6 +112,7 @@ describe('#offer-use-case', () => { const tokenDataMock = mockData.nftTokenData01 const offerObj = mockData.offerMockData const mutableDataMock = mockData.mutableDataMock + // Mock dependencies // sandbox.stub(uut.adapters.wallet.bchWallet, 'utxoIsValid').resolves(false) sandbox.stub(uut, 'findOfferByTxid').throws(new Error('offer not found')) @@ -123,6 +124,7 @@ describe('#offer-use-case', () => { const result = await uut.createOffer(offerObj) assert.isTrue(result) }) + it('should skip userData stringify error', async () => { const tokenDataMock = mockData.nftTokenData01 const offerObj = mockData.offerMockData @@ -139,6 +141,7 @@ describe('#offer-use-case', () => { const result = await uut.createOffer(offerObj) assert.isTrue(result) }) + it('should create offer', async () => { const tokenDataMock = mockData.simpleNftTokenData01 const offerObj = mockData.offerMockData @@ -816,27 +819,17 @@ describe('#offer-use-case', () => { assert.equal(result, 'N/A') }) - it('should return if utxo cant be validated', async () => { + it('should return if utxo can not be validated', async () => { // Mock dependencies const mock = Object.assign({}, mockData.offerMockData.data) sandbox.stub(uut.orderUseCase, 'findOrderByUtxo').resolves(mock) - sandbox.stub(uut.adapters.wallet.bchWallet, 'utxoIsValid').throws(new Error('test error')) + // sandbox.stub(uut.adapters.wallet.bchWallet, 'utxoIsValid').throws(new Error('test error')) + sandbox.stub(uut.retryQueue, 'addToQueue').throws(new Error('test error')) const result = await uut.acceptCounterOffer({ data: { /** .... */ } }) assert.equal(result, 'N/A') }) - it('should handle axios error', async () => { - // Mock dependencies - const mock = Object.assign({}, mockData.offerMockData.data) - const stubErr = new Error() - stubErr.isAxiosError = true - sandbox.stub(uut.orderUseCase, 'findOrderByUtxo').resolves(mock) - sandbox.stub(uut.adapters.wallet.bchWallet, 'utxoIsValid').throws(stubErr) - - const result = await uut.acceptCounterOffer({ data: { /** .... */ } }) - assert.equal(result, 'N/A') - }) it('should return if utxo is invalid', async () => { // Mock dependencies const mock = Object.assign({}, mockData.offerMockData.data)