@defi-wonderland/keep3r-v2
Version:
The Keep3r Network is a decentralized network for projects that need external devops, and for external teams to find keeper jobs
54 lines (42 loc) • 1.73 kB
text/typescript
import { Keep3rAccountanceForTest, Keep3rAccountanceForTest__factory } from '@types';
import { wallet } from '@utils';
import { expect } from 'chai';
import { ethers } from 'hardhat';
describe('Keep3rAccountance', () => {
let accountance: Keep3rAccountanceForTest;
let accountanceFactory: Keep3rAccountanceForTest__factory;
const randomAddr1 = wallet.generateRandomAddress();
const randomAddr2 = wallet.generateRandomAddress();
before(async () => {
accountanceFactory = (await ethers.getContractFactory('Keep3rAccountanceForTest')) as Keep3rAccountanceForTest__factory;
});
beforeEach(async () => {
accountance = await accountanceFactory.deploy();
});
describe('jobs', () => {
it('should return full list', async () => {
accountance.setJob(randomAddr1);
accountance.setJob(randomAddr2);
expect(await accountance.jobs()).to.deep.equal([randomAddr1, randomAddr2]);
});
it('should not store duplicates', async () => {
accountance.setJob(randomAddr1);
accountance.setJob(randomAddr2);
accountance.setJob(randomAddr2);
expect(await accountance.jobs()).to.deep.equal([randomAddr1, randomAddr2]);
});
});
describe('keepers', () => {
it('should return full list', async () => {
accountance.setKeeper(randomAddr1);
accountance.setKeeper(randomAddr2);
expect(await accountance.keepers()).to.deep.equal([randomAddr1, randomAddr2]);
});
it('should not store duplicates', async () => {
accountance.setKeeper(randomAddr1);
accountance.setKeeper(randomAddr2);
accountance.setKeeper(randomAddr2);
expect(await accountance.keepers()).to.deep.equal([randomAddr1, randomAddr2]);
});
});
});