Make txs in parallel in auction tests to reduce run time #30
@ -67,10 +67,13 @@ const auctionTests = () => {
|
|||||||
test('Commit bids.', async () => {
|
test('Commit bids.', async () => {
|
||||||
for (let i = 0; i < numBidders; i++) {
|
for (let i = 0; i < numBidders; i++) {
|
||||||
bidAmounts.push((LOWEST_BID_AMOUNT + (i * 500)).toString());
|
bidAmounts.push((LOWEST_BID_AMOUNT + (i * 500)).toString());
|
||||||
bidderAccounts[i].bid = await createBid(chainId, auctionId, bidderAccounts[i].address, `${bidAmounts[i]}${DENOM}`);
|
|
||||||
await registry.commitBid({ auctionId, commitHash: bidderAccounts[i].bid.commitHash }, bidderAccounts[i].privateKey, fee);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
await Promise.all(bidderAccounts.map(async (bidderAccount, i) => {
|
||||||
|
bidderAccounts[i].bid = await createBid(chainId, auctionId, bidderAccount.address, `${bidAmounts[i]}${DENOM}`);
|
||||||
|
return registry.commitBid({ auctionId, commitHash: bidderAccount.bid.commitHash }, bidderAccount.privateKey, fee);
|
||||||
|
}));
|
||||||
|
|
||||||
const [auction] = await registry.getAuctionsByIds([auctionId]);
|
const [auction] = await registry.getAuctionsByIds([auctionId]);
|
||||||
expect(auction.status).toEqual('commit');
|
expect(auction.status).toEqual('commit');
|
||||||
expect(auction.bids.length).toEqual(3);
|
expect(auction.bids.length).toEqual(3);
|
||||||
@ -90,9 +93,9 @@ const auctionTests = () => {
|
|||||||
const [auction] = await registry.getAuctionsByIds([auctionId]);
|
const [auction] = await registry.getAuctionsByIds([auctionId]);
|
||||||
expect(auction.status).toEqual('reveal');
|
expect(auction.status).toEqual('reveal');
|
||||||
|
|
||||||
for (let i = 0; i < numBidders; i++) {
|
await Promise.all(bidderAccounts.map(async bidderAccount => {
|
||||||
await registry.revealBid({ auctionId, reveal: bidderAccounts[i].bid.revealString }, bidderAccounts[i].privateKey, fee);
|
return registry.revealBid({ auctionId, reveal: bidderAccount.bid.revealString }, bidderAccount.privateKey, fee);
|
||||||
}
|
}));
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Check bids are revealed', async () => {
|
test('Check bids are revealed', async () => {
|
||||||
@ -175,7 +178,7 @@ const providerAuctionTestsWithBids = (bidAmounts: number[], numProviders: number
|
|||||||
const otherAcc = await Account.generateFromMnemonic(mnenonic3);
|
const otherAcc = await Account.generateFromMnemonic(mnenonic3);
|
||||||
await otherAcc.init();
|
await otherAcc.init();
|
||||||
|
|
||||||
await registry.sendCoins({ denom: DENOM, amount: CREATOR_INITIAL_BALANCE.toString(), destinationAddress: otherAcc.address }, privateKey, fee);
|
await registry.sendCoins({ denom: DENOM, amount: BIDDER_INITIAL_BALANCE.toString(), destinationAddress: otherAcc.address }, privateKey, fee);
|
||||||
otherAccount = { address: otherAcc.address, privateKey: otherAcc.privateKey.toString('hex') };
|
otherAccount = { address: otherAcc.address, privateKey: otherAcc.privateKey.toString('hex') };
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -205,10 +208,10 @@ const providerAuctionTestsWithBids = (bidAmounts: number[], numProviders: number
|
|||||||
});
|
});
|
||||||
|
|
||||||
test('Commit bids.', async () => {
|
test('Commit bids.', async () => {
|
||||||
for (let i = 0; i < numBidders; i++) {
|
await Promise.all(bidderAccounts.map(async (bidderAccount, i) => {
|
||||||
bidderAccounts[i].bid = await createBid(chainId, auctionId, bidderAccounts[i].address, `${bidAmounts[i]}${DENOM}`);
|
bidderAccounts[i].bid = await createBid(chainId, auctionId, bidderAccount.address, `${bidAmounts[i]}${DENOM}`);
|
||||||
await registry.commitBid({ auctionId, commitHash: bidderAccounts[i].bid.commitHash }, bidderAccounts[i].privateKey, fee);
|
return registry.commitBid({ auctionId, commitHash: bidderAccount.bid.commitHash }, bidderAccount.privateKey, fee);
|
||||||
}
|
}));
|
||||||
|
|
||||||
sortedBidders = bidderAccounts.slice().sort((a, b) => {
|
sortedBidders = bidderAccounts.slice().sort((a, b) => {
|
||||||
return parseInt(a.bid.reveal.bidAmount) - parseInt(b.bid.reveal.bidAmount);
|
return parseInt(a.bid.reveal.bidAmount) - parseInt(b.bid.reveal.bidAmount);
|
||||||
@ -239,21 +242,21 @@ const providerAuctionTestsWithBids = (bidAmounts: number[], numProviders: number
|
|||||||
const [auction] = await registry.getAuctionsByIds([auctionId]);
|
const [auction] = await registry.getAuctionsByIds([auctionId]);
|
||||||
expect(auction.status).toEqual('reveal');
|
expect(auction.status).toEqual('reveal');
|
||||||
|
|
||||||
for (let i = 0; i < numBidders; i++) {
|
await Promise.all(bidderAccounts.map(async bidderAccount => {
|
||||||
try {
|
try {
|
||||||
await registry.revealBid(
|
await registry.revealBid(
|
||||||
{ auctionId, reveal: bidderAccounts[i].bid.revealString },
|
{ auctionId, reveal: bidderAccount.bid.revealString },
|
||||||
bidderAccounts[i].privateKey,
|
bidderAccount.privateKey,
|
||||||
fee
|
fee
|
||||||
);
|
);
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
if (invalidBidderAddress === bidderAccounts[i].address) {
|
if (bidderAccount.address === invalidBidderAddress) {
|
||||||
expect(error.toString()).toContain(INVALID_BID_ERROR);
|
expect(error.toString()).toContain(INVALID_BID_ERROR);
|
||||||
} else {
|
} else {
|
||||||
throw error;
|
throw error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}));
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Check bids are revealed', async () => {
|
test('Check bids are revealed', async () => {
|
||||||
|
Loading…
Reference in New Issue
Block a user