UNPKG

truffle

Version:

Truffle - Simple development framework for Ethereum

67 lines (56 loc) 2.15 kB
const MemoryLogger = require("../MemoryLogger"); const CommandRunner = require("../commandRunner"); const path = require("path"); const assert = require("assert"); const sandbox = require("../sandbox"); const Web3 = require("web3"); const { createInterfaceAdapter } = require("@truffle/interface-adapter"); describe("migrate with [ @fabric-evm ] interface", () => { if (!process.env.FABRICEVM) return; let config, interfaceAdapter, networkId, cleanupSandboxDir; const project = path.join(__dirname, "../../sources/migrations/fabric-evm"); const logger = new MemoryLogger(); before(async () => { ({ config, cleanupSandboxDir } = await sandbox.create(project)); config.network = "development"; config.logger = logger; const provider = new Web3.providers.HttpProvider("http://localhost:5000", { keepAlive: false }); interfaceAdapter = createInterfaceAdapter({ provider, networkType: "fabric-evm" }); networkId = await interfaceAdapter.getNetworkId(); }); after(function () { cleanupSandboxDir(); }); it("runs migrations (sync & async/await)", async () => { try { await CommandRunner.run("migrate", config); } catch (error) { console.log(logger.contents()); throw new Error(error); } const output = logger.contents(); assert(output.includes("2_migrations_sync.js")); assert(output.includes("Deploying 'UsesExample'")); assert(output.includes("3_migrations_async.js")); assert(output.includes("Re-using deployed 'Example'")); assert(output.includes("Replacing 'UsesExample'")); assert(output.includes("PayableExample")); assert(output.includes("0 ETH")); assert(output.includes("Saving migration")); assert(output.includes("Saving artifacts")); const location = path.join( config.contracts_build_directory, "UsesExample.json" ); const artifact = require(location); const network = artifact.networks[networkId]; assert(output.includes(network.transactionHash)); assert(output.includes(network.address)); console.log(output); }).timeout(70000); }).timeout(10000);