Regionally take a look at your good contracts

On this story, I’ll present you how you can make native checks of your good contracts that use Aggregator V3 and VRF Coordinator V2 in Truffle utilizing mock contracts.
First, let’s init
a recent Truffle undertaking and set up Chainlink contracts.
truffle init vrf-aggregator-mock
cd vrf-aggregator-mock
npm i @chainlink/contracts
Subsequent, we’ll must create a take a look at
listing and mock contracts underneath the contracts
listing the place we’ll put our mock contracts for testing functions.
mkdir contracts/take a look at
contact contracts/take a look at/VRFCoordinatorV2Mock.sol
contact contracts/take a look at/MockV3Aggregator.sol
Home windows natively don’t assist contact command, so you possibly can manually create these recordsdata.
Now we additionally want another contract which is we’ll use these mocks from.
Create a file named Mock.sol
(or no matter your contract is, I’ll simply persist with Mock) underneath the contracts
listing:
Configuration to Use Ganache as Improvement Community
Open truffle-config.js
and add a growth
community.
growth: host: "127.0.0.1", port: 7545, network_id: "*", websockets: true,
Websockets should be true as a result of we’ll use occasions to retrieve random phrases which might be created by the VRF Coordinator and HttpProvider
doesn’t assist it.
Create a file named 2_deploy_mock.js
underneath the migrations listing.
Now let’s test all the things is alright by working the deploy command.
truffle deploy
Abstract
=======
> Complete deployments: 4
> Last value: 0.06800202 ETH
Create a file named mock.js
underneath the take a look at listing (not underneath the contracts/take a look at
):
Now let’s run our take a look at.
truffle take a look at
If all the things is okay, you need to be seeing one thing like that:
Contract: Mock
✔ ought to return random phrases (1166ms)
✔ ought to return value feed2 passing (1s)
That’s it, yay!. We mocked VRF Coordinator V2 and Aggregator V3.