const people = artifacts.require(“people”);
const truffleAssert=require(“truffle-assertions”)
contract(“people”,async function(accounts){
it(“shouldn’t create a person with age over 150 years”, async function(){
let instance= await people.deployed();
await truffleAssert.fails(instance.createPerson(“bob”,200,190,{value: web3.utils.toWei(“1”,“ether”)}), truffleAssert.ErrorType.REVERT);
})
it(“shouldn’t create a person without enogh payment”,async function(){
let instance= await people.deployed();
await truffleAssert.fails(instance.createPerson(“bob”,50,190,{value:1000}), truffleAssert.ErrorType.REVERT);
})
it(“should set person property correctly”,async function(){
let instance= await people.deployed();
await instance.createPerson(“bob”,65,190,{value:web3.utils.toWei(“1”,“ether”)});
let result=await instance.getPerson();
assert(result.senior===true && result.age.toNumber()==65,“person not set correctly”);
})
it(“shouldn’t delete person if caller is not owner”,async function(){
let instance= await people.deployed();
await instance.createPerson("bob",65,190,{value:web3.utils.toWei("1","ether")});
let result=await instance.getCreator(0);
await truffleAssert.fails(instance.deletePerson(result,{from:accounts[2]}), truffleAssert.ErrorType.REVERT);
})
});