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