aave-protocol-v2/test/upgradeability.spec.ts

43 lines
1.5 KiB
TypeScript
Raw Normal View History

2020-08-10 18:20:08 +00:00
import {expect} from 'chai';
import {makeSuite, TestEnv} from './helpers/make-suite';
import {ProtocolErrors, eContractid} from '../helpers/types';
import {deployGenericAToken, getAToken, deployContract} from '../helpers/contracts-helpers';
import {MockAToken} from '../types/MockAToken';
2020-08-10 18:20:08 +00:00
makeSuite('Upgradeability', (testEnv: TestEnv) => {
const {INVALID_POOL_MANAGER_CALLER_MSG} = ProtocolErrors;
let newATokenAddress: string;
2020-08-10 18:20:08 +00:00
before('deploying instances', async () => {
const {dai, pool} = testEnv;
const aTokenInstance = await deployContract<MockAToken>(eContractid.MockAToken, [
pool.address,
dai.address,
'Aave Interest bearing DAI updated',
'aDAI',
]);
2020-08-10 18:20:08 +00:00
newATokenAddress = aTokenInstance.address;
});
2020-08-10 18:20:08 +00:00
it('Tries to update the DAI Atoken implementation with a different address than the lendingPoolManager', async () => {
const {dai, configurator, users} = testEnv;
2020-08-10 18:20:08 +00:00
await expect(
configurator.connect(users[1].signer).updateAToken(dai.address, newATokenAddress)
).to.be.revertedWith(INVALID_POOL_MANAGER_CALLER_MSG);
});
2020-08-10 18:20:08 +00:00
it('Upgrades the DAI Atoken implementation ', async () => {
const {dai, configurator, aDai} = testEnv;
2020-08-10 18:20:08 +00:00
const name = await (await getAToken(newATokenAddress)).name();
2020-08-10 18:20:08 +00:00
await configurator.updateAToken(dai.address, newATokenAddress);
2020-08-10 18:20:08 +00:00
const tokenName = await aDai.name();
2020-08-10 18:20:08 +00:00
expect(tokenName).to.be.eq('Aave Interest bearing DAI updated', 'Invalid token name');
});
});