const Logger= require('../entity/Logger.js'); const logger=Logger.logger; const utils=require('../utils/Utils.js'); const Utils=utils.Utils; const metaMask=require('../pages/MetaMask.js'); const MetaMask=metaMask.MetaMask; const user=require("../entity/User.js"); const User=user.User; const crowdsale=require('../entity/Crowdsale.js'); const Crowdsale=crowdsale.Crowdsale; const acc=require('../entity/Account.js'); const Account=acc.Account; const reservedTokens=require('../entity/ReservedTokens.js'); const ReservedTokens=reservedTokens.ReservedTokens; const reservedTokensPage=require('../pages/ReservedTokensPage.js'); const ReservedTokensPage=reservedTokensPage.ReservedTokensPage; webdriver = require('selenium-webdriver'); var test = require('selenium-webdriver/testing'); var assert = require('assert'); const fs = require('fs-extra'); const eth_wallet=require('ethereumjs-wallet'); const bundleRA=[]; const bundleAccounts=[]; const number=process.argv[2]; const network=process.argv[3]; //testRA(); async function testRA() { const tempOutputPath='./temp/'; fs.ensureDirSync(tempOutputPath); const tempOutputFile=tempOutputPath+'resultReservedBundle'+Date.now()+'.json'; fs.ensureFileSync(tempOutputFile); logger.info("Test: create crowdsale with bundle of reserved tokens"); let driver = await Utils.startBrowserWithMetamask(); let user4_F16AFile='./users/user4_F16A.json';//Rinkeby let user8545_56B2File='./users/user8545_56B2.json';//Ganache let user77_56B2File='./users/user77_56B2.json';//Sokol let Owner; switch(network) { case '4': { Owner = new User (driver,user4_F16AFile);break;} case '8545':{Owner = new User (driver,user8545_56B2File);break;} default: {Owner = new User (driver,user77_56B2File);break;} } await Utils.increaseBalance(Owner,20); logger.info("Owner = "+Owner.account); logger.info("Owner's balance = :"+await Utils.getBalance(Owner)/1e18); let mtMask = new MetaMask(driver); await mtMask.activate();//return activated Metamask and empty page await Owner.setMetaMaskAccount(); var scenario = './scenarios/testRA.json'; let crowdsale = await Utils.getCrowdsaleInstance(scenario); crowdsale = await Owner.createCrowdsale(crowdsale,5,'reserved'); await Owner.openInvestPage(crowdsale); await driver.sleep(15000); await Owner.contribute(crowdsale.currency.tiers[0].supply); await Owner.distribute(crowdsale); await Owner.finalize(crowdsale); let obj; let balance; let shouldBe; let isPass=true; let user= Owner; for (let i=0;i