Skip to content

Commit 996f30c

Browse files
committed
tests: move more tests to dev network
1 parent ce7212d commit 996f30c

File tree

7 files changed

+76
-58
lines changed

7 files changed

+76
-58
lines changed

src.ts/_admin/test-browser.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,8 @@ const TestData = (function() {
218218
data.push(` inflate(ethers.decodeBase64(comps[1]), result);`);
219219
data.push(` return JSON.parse(ethers.toUtf8String(result))`);
220220
data.push(`}`);
221+
data.push(``);
222+
data.push(`export const FAUCET_PRIVATEKEY = ${ JSON.stringify(process.env.FAUCET_PRIVATEKEY) };`);
221223

222224
return data.join("\n");
223225
})();

src.ts/_tests/create-provider.ts

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,14 @@ import {
77
InfuraProvider,
88
// PocketProvider,
99
// QuickNodeProvider,
10+
JsonRpcProvider,
1011

1112
FallbackProvider,
1213
isError,
1314
} from "../index.js";
1415

16+
import { inspect } from "./utils-debug.js";
17+
1518
import type { AbstractProvider } from "../index.js";
1619

1720
interface ProviderCreator {
@@ -158,6 +161,30 @@ export function checkProvider(provider: string, network: string): boolean {
158161
return (creator != null && creator.networks.indexOf(network) >= 0);
159162
}
160163

164+
export function getDevProvider(): JsonRpcProvider {
165+
class HikackEnsProvider extends JsonRpcProvider {
166+
async resolveName(name: string): Promise<null | string> {
167+
if (name === "tests.eth") {
168+
return "0x228568EA92aC5Bc281c1E30b1893735c60a139F1";
169+
}
170+
return super.resolveName(name);
171+
}
172+
}
173+
174+
const provider = new HikackEnsProvider("http:/\/127.0.0.1:8545");
175+
176+
provider.on("error", (error: any) => {
177+
setTimeout(() => {
178+
if (error && error.event === "initial-network-discovery") {
179+
console.log(inspect(error));
180+
}
181+
provider.off("error");
182+
}, 100);
183+
});
184+
185+
return provider;
186+
}
187+
161188
export function connect(network: string): AbstractProvider {
162189
const provider = getProvider("InfuraProvider", network);
163190
if (provider == null) { throw new Error(`could not connect to ${ network }`); }

src.ts/_tests/test-contract-integ.ts

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,18 @@
11
import assert from "assert";
22

3-
//import { inspect } from "./utils.js";
4-
53
import { ethers } from "../index.js";
64

5+
import { getDevProvider } from "./create-provider.js";
6+
7+
78
interface ContractAbi {
89
mint: ethers.BaseContractMethod<[ ethers.AddressLike ], [ boolean ], ethers.ContractTransactionResponse>;
910
totalSupply: ethers.BaseContractMethod<[ ], [ bigint ], [ bigint ]>;
1011
balanceOf: ethers.BaseContractMethod<[ ethers.AddressLike ], [ bigint ], [ bigint ]>;
1112
}
1213

1314
describe("Tests contract integration", function() {
14-
const provider = new ethers.JsonRpcProvider("http:/\/127.0.0.1:8545");
15-
/*
16-
provider.on("error", (error: any) => {
17-
if (error && error.event === "initial-network-discovery") {
18-
console.log("Got error");
19-
console.log(inspect(error));
20-
provider.off("error");
21-
}
22-
});
23-
*/
15+
const provider = getDevProvider();
2416

2517
const abi = [
2618
"constructor(address owner, uint maxSupply)",

src.ts/_tests/test-contract.ts

Lines changed: 35 additions & 43 deletions
Large diffs are not rendered by default.

src.ts/_tests/test-providers-errors.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {
88
} from "../index.js";
99

1010
import { getProvider, setupProviders, providerNames } from "./create-provider.js";
11-
import { stall } from "./utils.js";
11+
import { FAUCET_PRIVATEKEY, stall } from "./utils.js";
1212

1313
import type { TransactionResponse } from "../index.js";
1414

@@ -164,7 +164,7 @@ describe("Tests Provider Call Exception", function() {
164164
});
165165

166166
describe("Test Provider Blockchain Errors", function() {
167-
const wallet = new Wallet(<string>(process.env.FAUCET_PRIVATEKEY));
167+
const wallet = new Wallet(FAUCET_PRIVATEKEY);
168168

169169
const networkName = "sepolia";
170170
for (const providerName of providerNames) {

src.ts/_tests/test-providers-send.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ import { getProvider, providerNames, setupProviders } from "./create-provider.js
66

77
import type { TransactionResponse } from "../index.js";
88

9+
import { FAUCET_PRIVATEKEY } from "./utils.js";
10+
11+
912
function stall(duration: number): Promise<void> {
1013
return new Promise((resolve) => { setTimeout(resolve, duration); });
1114
}
@@ -14,7 +17,7 @@ setupProviders();
1417

1518
describe("Sends Transactions", function() {
1619

17-
const wallet = new Wallet(<string>(process.env.FAUCET_PRIVATEKEY));
20+
const wallet = new Wallet(FAUCET_PRIVATEKEY);
1821
console.log("Faucet Address:", wallet.address);
1922

2023
const networkName = "sepolia";

src.ts/_tests/utils.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ import fs from "fs"
33
import path from "path";
44
import zlib from "zlib";
55

6+
export const FAUCET_PRIVATEKEY = process.env.FAUCET_PRIVATEKEY || "MISSING_GITHUB_SECRET";
7+
68
// Find the package root (based on the nyc output/ folder)
79
const root = (function() {
810
let root = process.cwd();

0 commit comments

Comments
 (0)