|
@@ -1,7 +1,7 @@
|
|
|
/* eslint no-undef: "off" */
|
|
|
const logger = console.log.bind(console) // eslint-disable-line no-console
|
|
|
|
|
|
-function logEvents(result, name) {
|
|
|
+function logEvents(result, name) { // eslint-disable-line no-unused-vars
|
|
|
result.logs.forEach((log) => {
|
|
|
if (log.event === name) {
|
|
|
logger(log)
|
|
@@ -97,4 +97,59 @@ contract('ShowTrader Test', (accounts) => {
|
|
|
assert.equal(owner2, player1, 'owner of show2 should be player1!')
|
|
|
})
|
|
|
})
|
|
|
+ it('should buy & sell', () => {
|
|
|
+ const player1 = accounts[1]
|
|
|
+ const player2 = accounts[2]
|
|
|
+ let id1
|
|
|
+ return ShowTrader.deployed()
|
|
|
+ .then((instance) => {
|
|
|
+ trader = instance
|
|
|
+ return trader.getShowsByOwner.call(player1)
|
|
|
+ })
|
|
|
+ .then((shows1) => {
|
|
|
+ id1 = shows1[0].toNumber()
|
|
|
+ logger(id1)
|
|
|
+ return trader.initAccount({ from: player1 })
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ logger()
|
|
|
+ return trader.ownerAccount(player1)
|
|
|
+ })
|
|
|
+ .then((remains) => {
|
|
|
+ logger(remains.toNumber())
|
|
|
+ return trader.initAccount({ from: player2 })
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ logger()
|
|
|
+ return trader.ownerAccount(player2)
|
|
|
+ })
|
|
|
+ .then((remains) => {
|
|
|
+ logger(remains.toNumber())
|
|
|
+ return trader.sell(id1, 233, { from: player1 })
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ logger()
|
|
|
+ return trader.showToPrice(id1)
|
|
|
+ })
|
|
|
+ .then((price) => {
|
|
|
+ logger(price.toNumber())
|
|
|
+ return trader.buy(id1, { from: player2 })
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ logger()
|
|
|
+ return trader.showToOwner(id1)
|
|
|
+ })
|
|
|
+ .then((owner) => {
|
|
|
+ logger(owner)
|
|
|
+ logger(player1)
|
|
|
+ return trader.ownerAccount(player1)
|
|
|
+ })
|
|
|
+ .then((remains) => {
|
|
|
+ logger(remains.toNumber())
|
|
|
+ return trader.ownerAccount(player2)
|
|
|
+ })
|
|
|
+ .then((remains) => {
|
|
|
+ logger(remains.toNumber())
|
|
|
+ })
|
|
|
+ })
|
|
|
})
|