import { expect, assert } from "chai";
import moment from "moment";
import delay from "delay";
import { mochaAsync } from "./utils";
import { ERC20Contract, X } from "..";
import Numbers from "../src/utils/Numbers";
const testConfig = {test : true, localtest : true};
context("X Contract", async () => {
let erc20Contract;
let xContract;
let deployed_tokenAddress, contractAddress, deployed_contractAddress;
let userAddress;
before(async () => {
erc20Lock = new xContract(testConfig);
userAddress = await xContract.getUserAddress(); // local test with ganache
});
it(
"should deploy a new ERC20Contract",
mochaAsync(async () => {
// Create Contract
erc20Contract = new ERC20Contract(testConfig);
expect(erc20Contract).to.not.equal(null);
// Deploy
let res = await erc20Contract.deploy({
name: "test",
symbol: "test",
cap: Numbers.toSmartContractDecimals(100000000, 18),
distributionAddress: userAddress,
});
await erc20Contract.__assert();
deployed_tokenAddress = erc20Contract.getAddress();
expect(res).to.not.equal(false);
expect(deployed_tokenAddress).to.equal(res.contractAddress);
})
);
it(
"should start the X",
mochaAsync(async () => {
xContract = new X(testConfig);
expect(xContract).to.not.equal(null);
})
);
it(
"should deploy X Contract",
mochaAsync(async () => {
// Create Contract
let testConfig2 = { ...testConfig, tokenAddress: deployed_tokenAddress };
xContract = new X(testConfig2);
// Deploy
let res = await x.deploy();
await x.__assert();
contractAddress = erc20Lock.getAddress();
deployed_contractAddress = erc20Lock.getAddress();
assert.equal(
deployed_tokenAddress,
erc20Lock.getERC20Contract().getAddress(),
"token address should match"
);
expect(res).to.not.equal(false);
})
);
it(
"should set do action1",
mochaAsync(async () => {
// maxTokenAmount = 7000;
let res = await xContract.action1({
itemId: 1,
});
expect(res).to.not.equal(false);
})
);
}