embark-area-51/test_apps/test_app/test/simple_storage_spec.js

58 lines
1.7 KiB
JavaScript

/*global contract, config, it, assert, web3*/
const SimpleStorage = require('Embark/contracts/SimpleStorage');
let accounts;
const Utils = require('embarkjs').Utils;
config({
contracts: {
"SimpleStorage": {
args: [100],
onDeploy: ["SimpleStorage.methods.setRegistar(web3.eth.defaultAccount).send()"]
}
}
}, (err, theAccounts) => {
accounts = theAccounts;
});
contract("SimpleStorage", function () {
this.timeout(0);
it("should set constructor value", async function () {
let result = await SimpleStorage.methods.storedData().call();
assert.strictEqual(parseInt(result, 10), 100);
});
it("set storage value", function (done) {
Utils.secureSend(web3, SimpleStorage.methods.set(150), {}, false, async function(err) {
if (err) {
return done(err);
}
let result = await SimpleStorage.methods.get().call();
assert.strictEqual(parseInt(result, 10), 150);
done();
});
});
it("should set defaultAccount", async function () {
let result = await SimpleStorage.methods.registar().call();
assert.strictEqual(result, web3.eth.defaultAccount);
assert.strictEqual(accounts[0], web3.eth.defaultAccount);
});
it("should alias contract address", function () {
assert.strictEqual(SimpleStorage.options.address, SimpleStorage.address);
});
it('listens to events', function (done) {
SimpleStorage.once('EventOnSet2', async function (error, _result) {
assert.strictEqual(error, null);
let result = await SimpleStorage.methods.get().call();
assert.strictEqual(parseInt(result, 10), 150);
done(error);
});
SimpleStorage.methods.set2(150, 100).send();
});
});