diff --git a/src/HavenoClient.test.ts b/src/HavenoClient.test.ts index b016351a..ccef5ea3 100644 --- a/src/HavenoClient.test.ts +++ b/src/HavenoClient.test.ts @@ -2600,6 +2600,14 @@ async function executeTrade(ctxP: Partial): Promise { ctx.taker.balancesAfterPayout = await ctx.taker.havenod?.getBalances(); } + const tradesForUser1 = await user1.getTrades(); + const tradesForUser2 = await user2.getTrades(); + assert(tradesForUser1.find( (x) => x.getTradeId() === ctx.offerId)); + assert(tradesForUser2.find( (x) => x.getTradeId() === ctx.offerId)); + for (const trade of tradesForUser1.concat(tradesForUser2).filter( (x) => x.getTradeId() === ctx.offerId)) { + testTrade(trade, ctx); + } + // test balances after payout tx unless other trades can interfere if (ctx.isStopped) return ctx.offerId!; if (!ctx.concurrentTrades) await testAmountsAfterComplete(ctx); @@ -2815,9 +2823,6 @@ async function takeOffer(ctxP: Partial): Promise { ctx.getSeller().securityDepositActual = BigInt(trade.getSellerSecurityDeposit()!); } - // test trade model - await testTrade(trade, ctx); - // test buyer and seller balances after offer taken if (!ctx.concurrentTrades) { ctx.arbitrator!.trade = await ctx.arbitrator.havenod!.getTrade(ctx.offerId!); @@ -2877,6 +2882,12 @@ async function testTrade(trade: TradeInfo, ctx: TradeContext) { expect(BigInt(trade.getBuyerSecurityDeposit())).toEqual(expectedSecurityDeposit - ctx.getBuyer().depositTxFee); expect(BigInt(trade.getSellerSecurityDeposit())).toEqual(expectedSecurityDeposit - ctx.getSeller().depositTxFee); + assert(trade.getRole().length > 0); + assert(trade.getRole() === "XMR buyer as maker" + || trade.getRole() === "XMR seller as taker" + || trade.getRole() === "XMR seller as maker" + || trade.getRole() === "XMR buyer as taker"); + // TODO: test more fields }