Skip to content

Instantly share code, notes, and snippets.

View CinnamonGrrrl's full-sized avatar

CinnamonGrrrl

View GitHub Profile
// contracts/Funding.sol
pragma solidity ^0.4.17;
contract Funding {
}
// contracts/FundingTest.sol
pragma solidity ^0.4.17;
import "truffle/Assert.sol";
import "../contracts/Funding.sol";
contract FundingTest {
}
$ ./node_modules/.bin/truffle test
Compiling ./contracts/Funding.sol...
Compiling ./contracts/Migrations.sol...
Compiling ./test/FundingTest.sol...
Compiling truffle/Assert.sol...
0 passing (0ms)
contract FundingTest {
function testSettingAnOwnerDuringCreation() public {
Funding funding = new Funding();
Assert.equal(funding.owner(), this);
}
}
contract Funding {
address public owner;
function Funding() public {
owner = msg.sender;
}
}
FundingTest
✓ testSettingAnOwnerDuringCreation (64ms)
1 passing (408ms)
// test/FundingTest.js
const Funding = artifacts.require("Funding");
contract("Funding", accounts => {
const [firstAccount] = accounts;
it("sets an owner", async () => {
const funding = await Funding.new();
assert.equal(await funding.owner.call(), firstAccount);
});
FundingTest
✓ testSettingAnOwnerDuringCreation (66ms)
Contract: Funding
✓ sets an owner (68ms)
2 passing (551ms)
import "truffle/DeployedAddresses.sol";
contract FundingTest {
function testSettingAnOwnerOfDeployedContract() public {
Funding funding = Funding(DeployedAddresses.Funding());
Assert.equal(funding.owner(), msg.sender);
}
}
// migrations/2_funding.js
const Funding = artifacts.require("./Funding.sol");
module.exports = function(deployer) {
deployer.deploy(Funding);
};