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

39 lines
1.4 KiB
TypeScript
Raw Normal View History

import {configuration as actionsConfiguration} from './helpers/actions';
import {configuration as calculationsConfiguration} from './helpers/utils/calculations';
import fs from 'fs';
import BigNumber from 'bignumber.js';
import {makeSuite} from './helpers/make-suite';
import {MOCK_ETH_ADDRESS, getReservesConfigByPool} from '../helpers/constants';
import {AavePools, iAavePoolAssets, IReserveParams} from '../helpers/types';
import {executeStory} from './helpers/scenario-engine';
BigNumber.config({DECIMAL_PLACES: 0, ROUNDING_MODE: BigNumber.ROUND_DOWN});
const scenarioFolder = './test/helpers/scenarios/';
2020-07-23 15:18:06 +00:00
const selectedScenarios: string[] = ['borrow-repay-stable.json'];
fs.readdirSync(scenarioFolder).forEach((file) => {
if (selectedScenarios.length > 0 && !selectedScenarios.includes(file)) return;
2020-06-30 12:09:28 +00:00
const scenario = require(`./helpers/scenarios/${file}`);
makeSuite(scenario.title, async (testEnv) => {
before('Initializing configuration', async () => {
actionsConfiguration.skipIntegrityCheck = false; //set this to true to execute solidity-coverage
calculationsConfiguration.reservesParams = <iAavePoolAssets<IReserveParams>>(
getReservesConfigByPool(AavePools.proto)
);
calculationsConfiguration.ethereumAddress = MOCK_ETH_ADDRESS;
});
for (const story of scenario.stories) {
it(story.description, async () => {
await executeStory(story, testEnv);
});
}
});
});