modified test to use async await pattern.
This commit is contained in:
@ -1,102 +1,50 @@
|
||||
contract('PullPayment', function(accounts) {
|
||||
|
||||
it("can't call asyncSend externally", function(done) {
|
||||
return PullPaymentMock.new()
|
||||
.then(function(ppc) {
|
||||
assert.isUndefined(ppc.asyncSend);
|
||||
})
|
||||
.then(done);
|
||||
it("can't call asyncSend externally", async function() {
|
||||
let ppc = await PullPaymentMock.new();
|
||||
assert.isUndefined(ppc.asyncSend);
|
||||
});
|
||||
|
||||
it("can record an async payment correctly", function(done) {
|
||||
var ppce;
|
||||
var AMOUNT = 100;
|
||||
return PullPaymentMock.new()
|
||||
.then(function(_ppce) {
|
||||
ppce = _ppce;
|
||||
ppce.callSend(accounts[0], AMOUNT)
|
||||
})
|
||||
.then(function() {
|
||||
return ppce.payments(accounts[0]);
|
||||
})
|
||||
.then(function(paymentsToAccount0) {
|
||||
assert.equal(paymentsToAccount0, AMOUNT);
|
||||
})
|
||||
.then(done);
|
||||
it("can record an async payment correctly", async function() {
|
||||
let AMOUNT = 100;
|
||||
let ppce = await PullPaymentMock.new();
|
||||
let callSend = await ppce.callSend(accounts[0], AMOUNT);
|
||||
let paymentsToAccount0 = await ppce.payments(accounts[0]);
|
||||
assert.equal(paymentsToAccount0, AMOUNT);
|
||||
});
|
||||
|
||||
it("can add multiple balances on one account", function(done) {
|
||||
var ppce;
|
||||
return PullPaymentMock.new()
|
||||
.then(function(_ppce) {
|
||||
ppce = _ppce;
|
||||
return ppce.callSend(accounts[0], 200)
|
||||
})
|
||||
.then(function() {
|
||||
return ppce.callSend(accounts[0], 300)
|
||||
})
|
||||
.then(function() {
|
||||
return ppce.payments(accounts[0]);
|
||||
})
|
||||
.then(function(paymentsToAccount0) {
|
||||
assert.equal(paymentsToAccount0, 500);
|
||||
})
|
||||
.then(done);
|
||||
it("can add multiple balances on one account", async function() {
|
||||
let ppce = await PullPaymentMock.new();
|
||||
let call1 = await ppce.callSend(accounts[0], 200);
|
||||
let call2 = await ppce.callSend(accounts[0], 300)
|
||||
let paymentsToAccount0 = await ppce.payments(accounts[0]);
|
||||
assert.equal(paymentsToAccount0, 500);
|
||||
});
|
||||
|
||||
it("can add balances on multiple accounts", function(done) {
|
||||
var ppce;
|
||||
return PullPaymentMock.new()
|
||||
.then(function(_ppce) {
|
||||
ppce = _ppce;
|
||||
return ppce.callSend(accounts[0], 200)
|
||||
})
|
||||
.then(function() {
|
||||
return ppce.callSend(accounts[1], 300)
|
||||
})
|
||||
.then(function() {
|
||||
return ppce.payments(accounts[0]);
|
||||
})
|
||||
.then(function(paymentsToAccount0) {
|
||||
assert.equal(paymentsToAccount0, 200);
|
||||
})
|
||||
.then(function() {
|
||||
return ppce.payments(accounts[1]);
|
||||
})
|
||||
.then(function(paymentsToAccount0) {
|
||||
assert.equal(paymentsToAccount0, 300);
|
||||
})
|
||||
.then(done);
|
||||
it("can add balances on multiple accounts", async function() {
|
||||
let ppce = await PullPaymentMock.new();
|
||||
let call1 = await ppce.callSend(accounts[0], 200);
|
||||
let call2 = await ppce.callSend(accounts[1], 300);
|
||||
let paymentsToAccount0 = await ppce.payments(accounts[0]);
|
||||
assert.equal(paymentsToAccount0, 200);
|
||||
let paymentsToAccount1 = await ppce.payments(accounts[1]);
|
||||
assert.equal(paymentsToAccount1, 300);
|
||||
});
|
||||
|
||||
it("can withdraw payment", function(done) {
|
||||
var ppce;
|
||||
var AMOUNT = 17*1e18;
|
||||
var payee = accounts[1];
|
||||
var initialBalance = web3.eth.getBalance(payee);
|
||||
return PullPaymentMock.new({value: AMOUNT})
|
||||
.then(function(_ppce) {
|
||||
ppce = _ppce;
|
||||
return ppce.callSend(payee, AMOUNT);
|
||||
})
|
||||
.then(function() {
|
||||
return ppce.payments(payee);
|
||||
})
|
||||
.then(function(paymentsToAccount0) {
|
||||
assert.equal(paymentsToAccount0, AMOUNT);
|
||||
})
|
||||
.then(function() {
|
||||
return ppce.withdrawPayments({from: payee});
|
||||
})
|
||||
.then(function() {
|
||||
return ppce.payments(payee);
|
||||
})
|
||||
.then(function(paymentsToAccount0) {
|
||||
assert.equal(paymentsToAccount0, 0);
|
||||
var balance = web3.eth.getBalance(payee);
|
||||
assert(Math.abs(balance-initialBalance-AMOUNT) < 1e16);
|
||||
})
|
||||
.then(done);
|
||||
it("can withdraw payment", async function() {
|
||||
let AMOUNT = 17*1e18;
|
||||
let payee = accounts[1];
|
||||
let initialBalance = web3.eth.getBalance(payee);
|
||||
|
||||
let ppce = await PullPaymentMock.new({value: AMOUNT});
|
||||
let call1 = await ppce.callSend(payee, AMOUNT);
|
||||
let payment1 = await ppce.payments(payee);
|
||||
assert.equal(payment1, AMOUNT);
|
||||
let withdraw = await ppce.withdrawPayments({from: payee});
|
||||
let payment2 = await ppce.payments(payee);
|
||||
assert.equal(payment2, 0);
|
||||
let balance = web3.eth.getBalance(payee);
|
||||
assert(Math.abs(balance-initialBalance-AMOUNT) < 1e16);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user