aboutsummaryrefslogtreecommitdiffstats
path: root/test/exchange_wrapper_test.ts
diff options
context:
space:
mode:
authorLeonid Logvinov <logvinov.leon@gmail.com>2017-06-01 21:46:27 +0800
committerLeonid Logvinov <logvinov.leon@gmail.com>2017-06-01 21:46:27 +0800
commitd8e35c364ea94b606810b340fb02d8706e257c3c (patch)
tree93e3f7ae35178d99efdb82b1f58c0f3c162f9615 /test/exchange_wrapper_test.ts
parent21d00f04d46a8067801ff539fb21cbbed416c8b3 (diff)
downloaddexon-sol-tools-d8e35c364ea94b606810b340fb02d8706e257c3c.tar
dexon-sol-tools-d8e35c364ea94b606810b340fb02d8706e257c3c.tar.gz
dexon-sol-tools-d8e35c364ea94b606810b340fb02d8706e257c3c.tar.bz2
dexon-sol-tools-d8e35c364ea94b606810b340fb02d8706e257c3c.tar.lz
dexon-sol-tools-d8e35c364ea94b606810b340fb02d8706e257c3c.tar.xz
dexon-sol-tools-d8e35c364ea94b606810b340fb02d8706e257c3c.tar.zst
dexon-sol-tools-d8e35c364ea94b606810b340fb02d8706e257c3c.zip
Add EXPIRED test
Diffstat (limited to 'test/exchange_wrapper_test.ts')
-rw-r--r--test/exchange_wrapper_test.ts38
1 files changed, 22 insertions, 16 deletions
diff --git a/test/exchange_wrapper_test.ts b/test/exchange_wrapper_test.ts
index c5cbc58be..f929df149 100644
--- a/test/exchange_wrapper_test.ts
+++ b/test/exchange_wrapper_test.ts
@@ -107,6 +107,9 @@ describe('ExchangeWrapper', () => {
let tokens: Token[];
const addressBySymbol: {[symbol: string]: string} = {};
let networkId: number;
+ let maker: string;
+ let taker: string;
+ const fillAmount = new BigNumber(5);
const setBalance = async (toAddress: string,
amountInBaseUnits: BigNumber.BigNumber|number,
tokenAddress: string) => {
@@ -126,40 +129,43 @@ describe('ExchangeWrapper', () => {
});
networkId = await promisify(web3.version.getNetwork)();
});
+ beforeEach('get ready for fill', async () => {
+ [maker, taker] = userAddresses;
+ zeroEx.setDefaultAccount(taker);
+ await setAllowance(maker, 5, addressBySymbol.MLN);
+ await setBalance(taker, 5, addressBySymbol.GNT);
+ await setAllowance(taker, 5, addressBySymbol.GNT);
+ });
+ afterEach('reset sender', () => {
+ zeroEx.setDefaultAccount(userAddresses[0]);
+ });
describe('failed fills', () => {
it('should throw when the fill amount is zero', async () => {
- const maker = userAddresses[0];
- const taker = userAddresses[0];
const signedOrder = await orderFactory.createSignedOrderAsync(zeroEx, networkId, maker, taker,
5, addressBySymbol.MLN, 5, addressBySymbol.GNT);
- const fillAmount = new BigNumber(0);
expect(zeroEx.exchange.fillOrderAsync(signedOrder, fillAmount))
.to.be.rejectedWith(FillOrderValidationErrs.FILL_AMOUNT_IS_ZERO);
});
it('should throw when sender is not a taker', async () => {
- const maker = userAddresses[0];
- const taker = userAddresses[1];
const signedOrder = await orderFactory.createSignedOrderAsync(zeroEx, networkId, maker, taker,
5, addressBySymbol.MLN, 5, addressBySymbol.GNT);
- const fillAmount = new BigNumber(5);
+ const notTaker = userAddresses[2];
+ zeroEx.setDefaultAccount(notTaker);
expect(zeroEx.exchange.fillOrderAsync(signedOrder, fillAmount))
.to.be.rejectedWith(FillOrderValidationErrs.NOT_A_TAKER);
});
+ it('should throw when order is expired', async () => {
+ const OLD_TIMESTAMP = new BigNumber(42);
+ const signedOrder = await orderFactory.createSignedOrderAsync(zeroEx, networkId, maker, taker,
+ 5, addressBySymbol.MLN, 5, addressBySymbol.GNT, OLD_TIMESTAMP);
+ expect(zeroEx.exchange.fillOrderAsync(signedOrder, fillAmount))
+ .to.be.rejectedWith(FillOrderValidationErrs.EXPIRED);
+ });
});
describe('successful fills', () => {
- afterEach('reset default account', () => {
- zeroEx.setDefaultAccount(userAddresses[0]);
- });
it('should fill the valid order', async () => {
- const maker = userAddresses[0];
- const taker = userAddresses[1];
- await setAllowance(maker, 5, addressBySymbol.MLN);
- await setBalance(taker, 5, addressBySymbol.GNT);
- await setAllowance(taker, 5, addressBySymbol.GNT);
const signedOrder = await orderFactory.createSignedOrderAsync(zeroEx, networkId, maker, taker,
5, addressBySymbol.MLN, 5, addressBySymbol.GNT);
- const fillAmount = new BigNumber(5);
- zeroEx.setDefaultAccount(taker);
await zeroEx.exchange.fillOrderAsync(signedOrder, fillAmount);
expect(await zeroEx.token.getBalanceAsync(addressBySymbol.MLN, taker)).to.be.bignumber.equal(5);
expect(await zeroEx.token.getBalanceAsync(addressBySymbol.GNT, taker)).to.be.bignumber.equal(0);