parent
c3a30e9be3
commit
b2e36314cb
@ -1,45 +1,45 @@ |
|||||||
'use strict'; |
'use strict' |
||||||
const assertJump = require('./helpers/assertJump'); |
const assertJump = require('./helpers/assertJump') |
||||||
|
|
||||||
var Ownable = artifacts.require('../contracts/ownership/Ownable.sol'); |
var Ownable = artifacts.require('../contracts/ownership/Ownable.sol') |
||||||
|
|
||||||
contract('Ownable', function(accounts) { |
contract('Ownable', function (accounts) { |
||||||
let ownable; |
let ownable |
||||||
|
|
||||||
beforeEach(async function() { |
beforeEach(async function () { |
||||||
ownable = await Ownable.new(); |
ownable = await Ownable.new() |
||||||
}); |
}) |
||||||
|
|
||||||
it('should have an owner', async function() { |
it('should have an owner', async function () { |
||||||
let owner = await ownable.owner(); |
let owner = await ownable.owner() |
||||||
assert.isTrue(owner !== 0); |
assert.isTrue(owner !== 0) |
||||||
}); |
}) |
||||||
|
|
||||||
it('changes owner after transfer', async function() { |
it('changes owner after transfer', async function () { |
||||||
let other = accounts[1]; |
let other = accounts[1] |
||||||
await ownable.transferOwnership(other); |
await ownable.transferOwnership(other) |
||||||
let owner = await ownable.owner(); |
let owner = await ownable.owner() |
||||||
|
|
||||||
assert.isTrue(owner === other); |
assert.isTrue(owner === other) |
||||||
}); |
}) |
||||||
|
|
||||||
it('should prevent non-owners from transfering', async function() { |
it('should prevent non-owners from transfering', async function () { |
||||||
const other = accounts[2]; |
const other = accounts[2] |
||||||
const owner = await ownable.owner.call(); |
const owner = await ownable.owner.call() |
||||||
assert.isTrue(owner !== other); |
assert.isTrue(owner !== other) |
||||||
try { |
try { |
||||||
await ownable.transferOwnership(other, {from: other}); |
await ownable.transferOwnership(other, {from: other}) |
||||||
} catch(error) { |
} catch (error) { |
||||||
assertJump(error); |
assertJump(error) |
||||||
} |
} |
||||||
}); |
}) |
||||||
|
|
||||||
it('should guard ownership against stuck state', async function() { |
it('should guard ownership against stuck state setting owner as 0x0 address', async function () { |
||||||
let originalOwner = await ownable.owner(); |
let originalOwner = await ownable.owner() |
||||||
await ownable.transferOwnership(null, {from: originalOwner}); |
try { |
||||||
let newOwner = await ownable.owner(); |
await ownable.transferOwnership(null, {from: originalOwner}) |
||||||
|
} catch (error) { |
||||||
assert.equal(originalOwner, newOwner); |
assertJump(error) |
||||||
}); |
} |
||||||
|
}) |
||||||
}); |
}) |
||||||
|
Loading…
Reference in new issue