Dates are a bit weird in Solidity. Solidity does have some keywords for working with dates, like now, or 1 day, but it does not have a native date type. Instead, dates are represented as integers, using timestamps in seconds. In our Truffle tests, we need to be able to…
Read StoryIn the last video of the smart contract testing series I showed you the basic usage of the Big Number library to deal with integers. But Big Number has many more trick up his sleeves :) In this video, I will show you all these tricks so that you feel…
Read StoryIn Solidity smart contract, you might have to deal with huge numbers, especially when doing financial transfers. Don't forget that we need to specify Ether transfers in Wei, a fundamental unit equals to 1 * 10 ^ -18 Ether, so very quickly even small financial values can lead to big…
Read StoryIn Truffle tests, we have a mysterious contract() function: contract('my test', () => { if('it should ...', () => { }); }); It's Truffle replacement of Mocha describe() function, but with a twist: it defines a "clean room" and it's used to isolate tests. Very few Truffle users, but this…
Read StoryIn Truffle, when you write tests, you can use 'artifacts' and 'web3' objects, without defining these names: const MyContract = artifacts.require('MyContract'); //artifacts was never defined before ! const web3 = new Web3('http://localhost:8545'); //same thing for Web3! How is it possible? this is not valid Javascript! Well, this is what Truffle…
Read StoryIn this video, we will go through the whole process of test-driven-development (TDD) for Solidity smart contracts: writing the tests in Truffle running the failing tests with truffle test fixing the test by implementing the missing parts of the Solidity smart contract running the tests again, this time it will…
Read StoryIn this video, I will show you what is the basic workflow when you test Solidity smart contracts with the Truffle framework. We are going to learn: files / test folder organization how to import smart contract into tests how to implement the arrange / test / assert pattern in…
Read StoryIn this video, I will introduce you Truffle-Contract, a library that is used by Truffle to communicate with smart contracts. When you use test smart contract with Truffle, that's the library that is used by default by Truffle for your interactions with smart contracts (deployment, transaction and call). You can…
Read StoryBefore we are able to understand how tests work in Truffle, we need to first understand what are contract artifacts and contract abstractions in Truffle, and how they are used to manage smart contract deployments. That's what I will explain you in this video.
Read StoryIn this video, I am going to introduce the testing features of the Truffle framework. You will learn: which language are supported for tests the folder organization
Read Story