HasNoContracts.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. 'use strict';
  2. import expectThrow from './helpers/expectThrow';
  3. import toPromise from './helpers/toPromise';
  4. const Ownable = artifacts.require('../contracts/ownership/Ownable.sol');
  5. const HasNoContracts = artifacts.require(
  6. '../contracts/ownership/HasNoContracts.sol',
  7. );
  8. contract('HasNoContracts', function(accounts) {
  9. let hasNoContracts = null;
  10. let ownable = null;
  11. beforeEach(async () => {
  12. // Create contract and token
  13. hasNoContracts = await HasNoContracts.new();
  14. ownable = await Ownable.new();
  15. // Force ownership into contract
  16. await ownable.transferOwnership(hasNoContracts.address);
  17. const owner = await ownable.owner();
  18. assert.equal(owner, hasNoContracts.address);
  19. });
  20. it('should allow owner to reclaim contracts', async function() {
  21. await hasNoContracts.reclaimContract(ownable.address);
  22. const owner = await ownable.owner();
  23. assert.equal(owner, accounts[0]);
  24. });
  25. it('should allow only owner to reclaim contracts', async function() {
  26. await expectThrow(
  27. hasNoContracts.reclaimContract(ownable.address, {from: accounts[1]}),
  28. );
  29. });
  30. });