Skip to content

Commit 9c0a068

Browse files
authored
feat: optimise run time for integration tests (#390)
- closes #389
1 parent b82c00b commit 9c0a068

File tree

11 files changed

+16
-51
lines changed

11 files changed

+16
-51
lines changed

.changeset/fair-gorillas-attend.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@fuel-bridge/solidity-contracts': minor
3+
'@fuel-bridge/test-utils': minor
4+
---
5+
6+
optimise run time for integration tests"

.github/workflows/upgrade-test-suite.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,4 @@ jobs:
4343
working-directory: docker/envs
4444
- name: Run integration tests on a L1 fork after upgrading contracts
4545
run: |
46-
pnpm run test:integration:fork
46+
pnpm run test:integration:fork

packages/integration-tests/fork-tests/bridge_erc20.ts

+1-6
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import type {
3333
Provider,
3434
} from 'fuels';
3535

36-
import { startContainers, stopEnvironment } from '../docker-setup/docker';
36+
import { startContainers } from '../docker-setup/docker';
3737
import { fundWithdrawalTransactionWithBaseAssetResource } from '../utils/utils';
3838

3939
const { expect } = chai;
@@ -726,9 +726,4 @@ describe('Bridging ERC20 tokens', async function () {
726726
).to.be.true;
727727
});
728728
});
729-
730-
// stopping containers post the test
731-
after(async () => {
732-
await stopEnvironment();
733-
});
734729
});

packages/integration-tests/fork-tests/transfer_eth.ts

+1-4
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import type {
2020
Provider,
2121
} from 'fuels';
2222

23-
import { startContainers, stopEnvironment } from '../docker-setup/docker';
23+
import { stopEnvironment } from '../docker-setup/docker';
2424

2525
const { expect } = chai;
2626

@@ -133,9 +133,6 @@ describe('Transferring ETH', async function () {
133133
}
134134

135135
before(async () => {
136-
// spinning up all docker containers
137-
await startContainers();
138-
139136
env = await setupEnvironment({});
140137
BASE_ASSET_ID = env.fuel.provider.getBaseAssetId();
141138
});

packages/integration-tests/package.json

+4
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,13 @@
77
"scripts": {
88
"test": "pnpm mocha -b -r ts-node/register 'tests/**/*.ts'",
99
"test-fork": "pnpm mocha -b -r ts-node/register 'fork-tests/**/*.ts'",
10+
"test:fork:erc20": "pnpm mocha -b -r ts-node/register 'fork-tests/bridge_erc20.ts'",
11+
"test:fork:transfer": "pnpm mocha -b -r ts-node/register 'fork-tests/transfer_eth.ts'",
1012
"test:erc20": "pnpm mocha -b -r ts-node/register 'tests/bridge_erc20.ts'",
1113
"test:erc721": "pnpm mocha -b -r ts-node/register 'tests/bridge_erc721.ts'",
1214
"test:transfer": "pnpm mocha -b -r ts-node/register 'tests/transfer_eth.ts'",
15+
"test:bridge_mainnet_tokens": "pnpm mocha -b -r ts-node/register 'tests/bridge_mainnet_tokens.ts'",
16+
"test:bridge_proxy": "pnpm mocha -b -r ts-node/register 'tests/bridge_proxy.ts'",
1317
"depositETH": "pnpm ts-node scripts/depositETH.ts",
1418
"bridgeETH": "pnpm ts-node scripts/bridgeETH.ts",
1519
"bridgeERC20": "pnpm ts-node scripts/bridgeERC20.ts",

packages/integration-tests/tests/bridge_erc20.ts

+1-6
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ import type {
3737
MessageProof,
3838
} from 'fuels';
3939

40-
import { startContainers, stopEnvironment } from '../docker-setup/docker';
40+
import { startContainers } from '../docker-setup/docker';
4141
import { fundWithdrawalTransactionWithBaseAssetResource } from '../utils/utils';
4242

4343
const { expect } = chai;
@@ -880,9 +880,4 @@ describe('Bridging ERC20 tokens', async function () {
880880
).to.be.true;
881881
});
882882
});
883-
884-
// stopping containers post the test
885-
after(async () => {
886-
await stopEnvironment();
887-
});
888883
});

packages/integration-tests/tests/bridge_erc721.ts

-10
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@ import type {
2727
MessageProof,
2828
} from 'fuels';
2929

30-
import { startContainers, stopEnvironment } from '../docker-setup/docker';
31-
3230
const { expect } = chai;
3331

3432
// TODO: develop new version of ERC721 gateway
@@ -50,9 +48,6 @@ describe.skip('Bridging ERC721 tokens', async function () {
5048
this.timeout(DEFAULT_TIMEOUT_MS);
5149

5250
before(async () => {
53-
// spinning up all docker containers
54-
await startContainers();
55-
5651
env = await setupEnvironment({});
5752
eth_testToken = await getOrDeployERC721Contract(env);
5853
eth_testTokenAddress = (await eth_testToken.getAddress()).toLowerCase();
@@ -268,9 +263,4 @@ describe.skip('Bridging ERC721 tokens', async function () {
268263
);
269264
});
270265
});
271-
272-
// stopping containers post the test
273-
after(async () => {
274-
await stopEnvironment();
275-
});
276266
});

packages/integration-tests/tests/bridge_mainnet_tokens.ts

-9
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ import type {
4343
MessageProof,
4444
} from 'fuels';
4545

46-
import { startContainers, stopEnvironment } from '../docker-setup/docker';
4746
import { fundWithdrawalTransactionWithBaseAssetResource } from '../utils/utils';
4847

4948
const { expect } = chai;
@@ -161,9 +160,6 @@ describe('Bridge mainnet tokens', function () {
161160
}
162161

163162
before(async () => {
164-
// spinning up all docker containers
165-
await startContainers();
166-
167163
env = await setupEnvironment({});
168164
eth_erc20GatewayAddress = (
169165
await env.eth.fuelERC20Gateway.getAddress()
@@ -741,9 +737,4 @@ describe('Bridge mainnet tokens', function () {
741737
});
742738
});
743739
}
744-
745-
// stopping containers post the test
746-
after(async () => {
747-
await stopEnvironment();
748-
});
749740
});

packages/integration-tests/tests/bridge_proxy.ts

-10
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ import { setupEnvironment, getOrDeployL2Bridge } from '@fuel-bridge/test-utils';
44
import chai from 'chai';
55
import type { Contract, FuelError } from 'fuels';
66

7-
import { startContainers, stopEnvironment } from '../docker-setup/docker';
8-
97
const { expect } = chai;
108

119
describe('Proxy', async function () {
@@ -18,9 +16,6 @@ describe('Proxy', async function () {
1816
let fuel_proxy: Proxy;
1917

2018
before(async () => {
21-
// spinning up all docker containers
22-
await startContainers();
23-
2419
env = await setupEnvironment({});
2520

2621
const { proxy, implementation } = await getOrDeployL2Bridge(
@@ -182,9 +177,4 @@ describe('Proxy', async function () {
182177
expect(message).contains('NotOwner');
183178
});
184179
});
185-
186-
// stopping containers post the test
187-
after(async () => {
188-
await stopEnvironment();
189-
});
190180
});

packages/integration-tests/tests/transfer_eth.ts

+1-4
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import type {
2323
MessageProof,
2424
} from 'fuels';
2525

26-
import { startContainers, stopEnvironment } from '../docker-setup/docker';
26+
import { stopEnvironment } from '../docker-setup/docker';
2727

2828
const { expect } = chai;
2929

@@ -95,9 +95,6 @@ describe('Transferring ETH', async function () {
9595
}
9696

9797
before(async () => {
98-
// spinning up all docker containers
99-
await startContainers();
100-
10198
env = await setupEnvironment({});
10299
BASE_ASSET_ID = env.fuel.provider.getBaseAssetId();
103100
});

packages/test-utils/src/utils/setup.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -306,4 +306,4 @@ export async function setupEnvironment(
306306
signers: [fuel_signer1, fuel_signer2],
307307
},
308308
};
309-
}
309+
}

0 commit comments

Comments
 (0)