thenavisapp
Version:
This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
48 lines (35 loc) • 1.65 kB
JavaScript
// SPDX-License-Identifier: MIT
const { expect } = require("chai");
const NAVIS = artifacts.require("NAVIS");
contract("NAVIS", (accounts) => {
let navisInstance;
const owner = accounts[0];
before(async () => {
navisInstance = await NAVIS.deployed();
});
it("should deploy NAVIS contract", async () => {
expect(navisInstance.address).to.exist;
});
it("should have initial supply minted to the owner", async () => {
const balance = await navisInstance.balanceOf(owner);
expect(balance.toNumber()).to.equal(1000000); // Assuming an initial supply of 1,000,000
});
it("should allow transfer of tokens between accounts", async () => {
const amount = 100;
await navisInstance.transfer(accounts[1], amount, { from: owner });
const balanceReceiver = await navisInstance.balanceOf(accounts[1]);
const balanceOwner = await navisInstance.balanceOf(owner);
expect(balanceReceiver.toNumber()).to.equal(amount);
expect(balanceOwner.toNumber()).to.equal(999900); // 1,000,000 - 100
});
it("should burn tokens", async () => {
const initialBalance = await navisInstance.balanceOf(owner);
const burnAmount = 50;
await navisInstance.burn(burnAmount, { from: owner });
const finalBalance = await navisInstance.balanceOf(owner);
const totalSupply = await navisInstance.totalSupply();
expect(finalBalance.toNumber()).to.equal(initialBalance.toNumber() - burnAmount);
expect(totalSupply.toNumber()).to.equal(initialBalance.toNumber() - burnAmount);
});
// Add more tests based on your contract's functionality
});