From 8c34177222f9bbff123cab33cf7efa7264519459 Mon Sep 17 00:00:00 2001 From: yann300 Date: Tue, 11 Feb 2025 09:24:20 +0100 Subject: [PATCH] add e2e --- .../src/tests/solidityImport.test.ts | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/apps/remix-ide-e2e/src/tests/solidityImport.test.ts b/apps/remix-ide-e2e/src/tests/solidityImport.test.ts index 083f5bdf3f..82f55d3a10 100644 --- a/apps/remix-ide-e2e/src/tests/solidityImport.test.ts +++ b/apps/remix-ide-e2e/src/tests/solidityImport.test.ts @@ -115,6 +115,34 @@ module.exports = { .verifyContracts(['test13', 'ERC20'], { wait: 30000 }) }, + 'Test NPM Import (with unpkg.com) and the package.json contains a module remapping #group3': function (browser: NightwatchBrowser) { + browser + .setSolidityCompilerVersion('soljson-v0.8.7+commit.e28d00a7.js') + .waitForElementPresent({ + selector: `//*[@data-id='compilerloaded' and @data-version='soljson-v0.8.7+commit.e28d00a7.js']`, + locateStrategy: 'xpath', + timeout: 120000 + }) + .clickLaunchIcon('filePanel') + .click('li[data-id="treeViewLitreeViewItemREADME.txt"') + .addFile('package.json', sources[9]['package.json']) + .addFile('Untitled10.sol', sources[9]['Untitled10.sol']) + // avoid invalid source issues + .isVisible({ + selector: '*[data-id="treeViewLitreeViewItem.deps/npm/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol"]', + timeout: 120000, + suppressNotFoundErrors: true + }) + .clickLaunchIcon('solidity') + .click('[data-id="compilerContainerCompileBtn"]') + .clickLaunchIcon('filePanel') + .isVisible({ + selector: '*[data-id="treeViewLitreeViewItem.deps/npm/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol"]', + timeout: 120000, + }) + .verifyContracts(['test15', 'ERC20'], { wait: 30000 }) + }, + 'Test NPM Import (the version is specified in package.json) #group4': function (browser: NightwatchBrowser) { browser // clone https://github.com/yann300/remix-reward @@ -168,5 +196,11 @@ const sources = [ }, { 'Untitled9.sol': { content: 'pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; contract test13 {}' } + }, + { + 'Untitled10.sol': { content: 'pragma solidity ^0.8.0; import "@module_remapping/token/ERC20/ERC20.sol"; contract test15 {}' }, + 'package.json': { content: `"dependencies": { + "@module_remapping": "npm:@openzeppelin/contracts@^4.9.0" + },` } } ]