@cardano-sdk/e2e 0.55.23 → 0.55.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/dist/cjs/measurement-util.d.ts.map +1 -1
- package/dist/cjs/measurement-util.js +6 -3
- package/dist/cjs/measurement-util.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/measurement-util.d.ts.map +1 -1
- package/dist/esm/measurement-util.js +6 -3
- package/dist/esm/measurement-util.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/package.json +33 -36
- package/src/measurement-util.ts +6 -3
- package/test/measurement-util/measurement-util.test.ts +1 -1
- package/test/wallet_epoch_0/PersonalWallet/mint.test.ts +9 -32
- package/test/wallet_epoch_0/PersonalWallet/phase2validation.test.ts +1 -1
- package/test/web-extension/specs/dapp-cip30.spec.ts +5 -5
- package/test/web-extension/specs/dapp-cip95.spec.ts +7 -7
- package/test/web-extension/specs/wallet.spec.ts +9 -9
- package/test/web-extension/tsconfig.json +1 -1
- package/test/web-extension/wdio.conf.js +3 -9
- package/test/web-extension/webpack.config.base.js +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cardano-sdk/e2e",
|
|
3
|
-
"version": "0.55.
|
|
3
|
+
"version": "0.55.27",
|
|
4
4
|
"description": "End to end tests for the cardano-js-sdk packages.",
|
|
5
5
|
"repository": "https://github.com/input-output-hk/cardano-js-sdk",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -76,20 +76,20 @@
|
|
|
76
76
|
"dependencies": {
|
|
77
77
|
"@cardano-foundation/ledgerjs-hw-app-cardano": "^7.1.4",
|
|
78
78
|
"@cardano-ogmios/client": "6.9.0",
|
|
79
|
-
"@cardano-sdk/cardano-services": "~0.35.
|
|
80
|
-
"@cardano-sdk/cardano-services-client": "~0.26.
|
|
81
|
-
"@cardano-sdk/core": "~0.46.
|
|
82
|
-
"@cardano-sdk/crypto": "~0.4.
|
|
83
|
-
"@cardano-sdk/hardware-ledger": "~0.16.
|
|
84
|
-
"@cardano-sdk/hardware-trezor": "~0.7.
|
|
85
|
-
"@cardano-sdk/input-selection": "~0.14.
|
|
86
|
-
"@cardano-sdk/key-management": "~0.29.
|
|
87
|
-
"@cardano-sdk/ogmios": "~0.18.
|
|
88
|
-
"@cardano-sdk/tx-construction": "~0.28.
|
|
89
|
-
"@cardano-sdk/util": "~0.17.
|
|
90
|
-
"@cardano-sdk/util-dev": "~0.25.
|
|
91
|
-
"@cardano-sdk/util-rxjs": "~0.9.
|
|
92
|
-
"@cardano-sdk/wallet": "~0.54.
|
|
79
|
+
"@cardano-sdk/cardano-services": "~0.35.38",
|
|
80
|
+
"@cardano-sdk/cardano-services-client": "~0.26.36",
|
|
81
|
+
"@cardano-sdk/core": "~0.46.15",
|
|
82
|
+
"@cardano-sdk/crypto": "~0.4.7",
|
|
83
|
+
"@cardano-sdk/hardware-ledger": "~0.16.27",
|
|
84
|
+
"@cardano-sdk/hardware-trezor": "~0.7.37",
|
|
85
|
+
"@cardano-sdk/input-selection": "~0.14.33",
|
|
86
|
+
"@cardano-sdk/key-management": "~0.29.17",
|
|
87
|
+
"@cardano-sdk/ogmios": "~0.18.58",
|
|
88
|
+
"@cardano-sdk/tx-construction": "~0.28.15",
|
|
89
|
+
"@cardano-sdk/util": "~0.17.2",
|
|
90
|
+
"@cardano-sdk/util-dev": "~0.25.36",
|
|
91
|
+
"@cardano-sdk/util-rxjs": "~0.9.35",
|
|
92
|
+
"@cardano-sdk/wallet": "~0.54.8",
|
|
93
93
|
"@dcspark/cardano-multiplatform-lib-nodejs": "^3.1.1",
|
|
94
94
|
"@emurgo/cardano-message-signing-nodejs": "^1.0.1",
|
|
95
95
|
"@shiroyasha9/axios-fetch-adapter": "1.0.3",
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
"bunyan": "^1.8.15",
|
|
98
98
|
"chalk": "4.1.2",
|
|
99
99
|
"cli-spinners": "^2.9.0",
|
|
100
|
-
"convict": "^6.2.
|
|
100
|
+
"convict": "^6.2.5",
|
|
101
101
|
"delay": "5.0.0",
|
|
102
102
|
"dotenv": "^16.0.1",
|
|
103
103
|
"envalid": "^7.3.1",
|
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
"ts-log": "^2.2.4",
|
|
113
113
|
"ts-node": "^10.8.1",
|
|
114
114
|
"ts-stopwatch": "0.0.4",
|
|
115
|
-
"uuid": "^
|
|
115
|
+
"uuid": "^11.1.1",
|
|
116
116
|
"webextension-polyfill": "^0.8.0",
|
|
117
117
|
"ws": "^8.5.0"
|
|
118
118
|
},
|
|
@@ -120,10 +120,10 @@
|
|
|
120
120
|
"@babel/core": "^7.18.2",
|
|
121
121
|
"@babel/preset-env": "^7.18.2",
|
|
122
122
|
"@babel/preset-typescript": "^7.17.12",
|
|
123
|
-
"@cardano-sdk/dapp-connector": "~0.13.
|
|
124
|
-
"@cardano-sdk/projection": "~0.13.
|
|
125
|
-
"@cardano-sdk/projection-typeorm": "~0.10.
|
|
126
|
-
"@cardano-sdk/web-extension": "~0.39.
|
|
123
|
+
"@cardano-sdk/dapp-connector": "~0.13.29",
|
|
124
|
+
"@cardano-sdk/projection": "~0.13.19",
|
|
125
|
+
"@cardano-sdk/projection-typeorm": "~0.10.19",
|
|
126
|
+
"@cardano-sdk/web-extension": "~0.39.44",
|
|
127
127
|
"@dcspark/cardano-multiplatform-lib-browser": "^3.1.1",
|
|
128
128
|
"@emurgo/cardano-message-signing-asmjs": "^1.0.1",
|
|
129
129
|
"@types/bunyan": "^1.8.8",
|
|
@@ -135,32 +135,29 @@
|
|
|
135
135
|
"@types/k6": "^0.53.1",
|
|
136
136
|
"@types/lodash": "^4.14.182",
|
|
137
137
|
"@types/ora": "^3.2.0",
|
|
138
|
-
"@types/uuid": "^8.3.4",
|
|
139
138
|
"@types/webextension-polyfill": "^0.8.0",
|
|
140
|
-
"@wdio/cli": "^
|
|
141
|
-
"@wdio/local-runner": "^
|
|
142
|
-
"@wdio/mocha-framework": "^
|
|
143
|
-
"@wdio/spec-reporter": "^
|
|
144
|
-
"@wdio/static-server-service": "^
|
|
145
|
-
"artillery": "^2.0.
|
|
139
|
+
"@wdio/cli": "^9.29.0",
|
|
140
|
+
"@wdio/local-runner": "^9.29.0",
|
|
141
|
+
"@wdio/mocha-framework": "^9.29.0",
|
|
142
|
+
"@wdio/spec-reporter": "^9.29.0",
|
|
143
|
+
"@wdio/static-server-service": "^9.29.0",
|
|
144
|
+
"artillery": "^2.0.33",
|
|
146
145
|
"axios-mock-adapter": "^2.0.0",
|
|
147
146
|
"babel-loader": "^8.2.5",
|
|
148
147
|
"blake2b-no-wasm": "2.1.4",
|
|
149
148
|
"buffer": "^6.0.3",
|
|
150
|
-
"chromedriver": "^127.0.0",
|
|
151
149
|
"copy-webpack-plugin": "^10.2.4",
|
|
152
150
|
"crypto-browserify": "^3.12.0",
|
|
153
151
|
"delay": "^5.0.0",
|
|
154
|
-
"dockerode": "^
|
|
152
|
+
"dockerode": "^4.0.7",
|
|
155
153
|
"dockerode-utils": "^0.0.7",
|
|
156
154
|
"eslint": "^7.32.0",
|
|
157
155
|
"events": "^3.3.0",
|
|
158
|
-
"expect-webdriverio": "^
|
|
156
|
+
"expect-webdriverio": "^5.6.8",
|
|
159
157
|
"jest": "^28.1.3",
|
|
160
158
|
"jest-webextension-mock": "^3.7.22",
|
|
161
159
|
"json-bigint": "^1.0.0",
|
|
162
160
|
"madge": "^5.0.1",
|
|
163
|
-
"mock-browser": "^0.92.14",
|
|
164
161
|
"npm-run-all": "^4.1.5",
|
|
165
162
|
"null-loader": "^4.0.1",
|
|
166
163
|
"readable-stream": "^3.6.0",
|
|
@@ -170,19 +167,19 @@
|
|
|
170
167
|
"typeorm": "^0.3.15",
|
|
171
168
|
"typeorm-extension": "^2.7.0",
|
|
172
169
|
"typescript": "^4.7.4",
|
|
170
|
+
"url": "^0.11.4",
|
|
173
171
|
"util": "^0.12.4",
|
|
174
|
-
"wdio-chromedriver-service": "^7.3.2",
|
|
175
172
|
"webassembly-loader-sw": "^1.1.0",
|
|
176
|
-
"webdriverio": "^
|
|
173
|
+
"webdriverio": "^9.29.0",
|
|
177
174
|
"webpack": "^5.72.0",
|
|
178
175
|
"webpack-cli": "^4.9.2",
|
|
179
176
|
"webpack-merge": "^5.8.0"
|
|
180
177
|
},
|
|
181
178
|
"engines": {
|
|
182
|
-
"node": ">=
|
|
179
|
+
"node": ">=22"
|
|
183
180
|
},
|
|
184
181
|
"publishConfig": {
|
|
185
182
|
"access": "public"
|
|
186
183
|
},
|
|
187
|
-
"gitHead": "
|
|
184
|
+
"gitHead": "545a7f5c59ddb0b17781cdf759dcf9ed50e1a739"
|
|
188
185
|
}
|
package/src/measurement-util.ts
CHANGED
|
@@ -102,7 +102,10 @@ export class MeasurementUtil<T extends string> {
|
|
|
102
102
|
|
|
103
103
|
for (const measureEntry of performance
|
|
104
104
|
.getEntriesByType('measure')
|
|
105
|
-
.map((
|
|
105
|
+
.map((entry) => ({
|
|
106
|
+
duration: entry.duration,
|
|
107
|
+
target: (entry as unknown as { detail: MarkerDetail<T> }).detail.target
|
|
108
|
+
}))
|
|
106
109
|
.filter(({ target }) => targets?.some((t) => t === target))) {
|
|
107
110
|
const data = measurementData[measureEntry.target];
|
|
108
111
|
if (!data.time) {
|
|
@@ -125,8 +128,8 @@ export class MeasurementUtil<T extends string> {
|
|
|
125
128
|
// Count all the start markers. They all have the 'target' detail added. Stop markers don't have it
|
|
126
129
|
for (const targetName of performance
|
|
127
130
|
.getEntriesByType('mark')
|
|
128
|
-
.map((
|
|
129
|
-
.filter((target) => target && targets?.some((t) => t === target))) {
|
|
131
|
+
.map((entry) => (entry as unknown as { detail?: MarkerDetail<T> }).detail?.target)
|
|
132
|
+
.filter((target): target is T => !!target && !!targets?.some((t) => t === target))) {
|
|
130
133
|
measurementData[targetName].calls_count++;
|
|
131
134
|
}
|
|
132
135
|
|
|
@@ -19,7 +19,7 @@ jest.mock('perf_hooks', () => ({
|
|
|
19
19
|
type measureTargets = 't1' | 't2';
|
|
20
20
|
describe('MeasurementUtil', () => {
|
|
21
21
|
let measurementUtil: MeasurementUtil<measureTargets>;
|
|
22
|
-
let mockData: Partial<PerformanceEntry>[];
|
|
22
|
+
let mockData: (Partial<PerformanceEntry> & { detail: { id: number; target: string } })[];
|
|
23
23
|
|
|
24
24
|
beforeEach(() => {
|
|
25
25
|
measurementUtil = new MeasurementUtil<measureTargets>();
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { BaseWallet
|
|
1
|
+
import { BaseWallet } from '@cardano-sdk/wallet';
|
|
2
2
|
import { Cardano, nativeScriptPolicyId } from '@cardano-sdk/core';
|
|
3
|
-
import { InitializeTxProps } from '@cardano-sdk/tx-construction';
|
|
4
3
|
import { KeyRole, util } from '@cardano-sdk/key-management';
|
|
5
4
|
import {
|
|
6
5
|
bip32Ed25519Factory,
|
|
@@ -66,38 +65,16 @@ describe('PersonalWallet/mint', () => {
|
|
|
66
65
|
|
|
67
66
|
const policyId = nativeScriptPolicyId(policyScript);
|
|
68
67
|
const assetId = Cardano.AssetId(`${policyId}`); // skip asset name
|
|
69
|
-
const tokens = new Map([[assetId, 1n]]);
|
|
70
68
|
|
|
71
|
-
|
|
69
|
+
// Mint through the fluent transaction builder. The minted asset is balanced into the wallet's
|
|
70
|
+
// change; the policy requires Alice's signature, supplied as an extra signer.
|
|
71
|
+
const { tx: signedTx } = await wallet
|
|
72
|
+
.createTxBuilder()
|
|
73
|
+
.addMint({ assets: new Map([[Cardano.AssetName(''), 1n]]), policy: policyScript })
|
|
74
|
+
.extraSigners([alicePolicySigner])
|
|
75
|
+
.build()
|
|
76
|
+
.sign();
|
|
72
77
|
|
|
73
|
-
const txProps: InitializeTxProps = {
|
|
74
|
-
mint: tokens,
|
|
75
|
-
outputs: new Set([
|
|
76
|
-
{
|
|
77
|
-
address: walletAddress,
|
|
78
|
-
value: {
|
|
79
|
-
assets: tokens,
|
|
80
|
-
coins
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
]),
|
|
84
|
-
signingOptions: {
|
|
85
|
-
extraSigners: [alicePolicySigner]
|
|
86
|
-
},
|
|
87
|
-
witness: { scripts: [policyScript] }
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
const unsignedTx = await wallet.initializeTx(txProps);
|
|
91
|
-
|
|
92
|
-
const finalizeProps: FinalizeTxProps = {
|
|
93
|
-
signingOptions: {
|
|
94
|
-
extraSigners: [alicePolicySigner]
|
|
95
|
-
},
|
|
96
|
-
tx: unsignedTx,
|
|
97
|
-
witness: { scripts: [policyScript] }
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
const signedTx = await wallet.finalizeTx(finalizeProps);
|
|
101
78
|
const [, txFoundInHistory] = await submitAndConfirm(wallet, signedTx, 1);
|
|
102
79
|
|
|
103
80
|
expect(txFoundInHistory.id).toEqual(signedTx.id);
|
|
@@ -128,7 +128,7 @@ describe('PersonalWallet/phase2validation', () => {
|
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
130
|
]),
|
|
131
|
-
redeemersByType: {
|
|
131
|
+
redeemersByType: { mint: new Map([[policyId, scriptRedeemer]]) },
|
|
132
132
|
scriptIntegrityHash: scriptDataHash,
|
|
133
133
|
witness: { redeemers: [scriptRedeemer], scripts: [alwaysFailScript] }
|
|
134
134
|
};
|
|
@@ -24,7 +24,7 @@ describe('dapp/cip30', () => {
|
|
|
24
24
|
});
|
|
25
25
|
|
|
26
26
|
it('dapp should detect test wallet', async () => {
|
|
27
|
-
await expect($(pWalletFound)).
|
|
27
|
+
await expect($(pWalletFound)).toHaveText('true', { containing: true });
|
|
28
28
|
});
|
|
29
29
|
|
|
30
30
|
describe('dapp can use cip30 wallet api', () => {
|
|
@@ -50,14 +50,14 @@ describe('dapp/cip30', () => {
|
|
|
50
50
|
});
|
|
51
51
|
|
|
52
52
|
it('dapp gets correct addresses from cip30 wallet api', async () => {
|
|
53
|
-
await expect($(dappChangeAddress)).
|
|
54
|
-
await expect($(dappStakeAddress)).
|
|
55
|
-
await expect($(dappUsedAddress)).
|
|
53
|
+
await expect($(dappChangeAddress)).toHaveText(walletAddr, { containing: true });
|
|
54
|
+
await expect($(dappStakeAddress)).toHaveText(walletStakeAddr, { containing: true });
|
|
55
|
+
await expect($(dappUsedAddress)).toHaveText(walletAddr, { containing: true });
|
|
56
56
|
});
|
|
57
57
|
|
|
58
58
|
it('dapp can build and send a transaction using cip30 WalletApi', async () => {
|
|
59
59
|
await $(dappBtnRun).click();
|
|
60
|
-
await expect($(dappSubmittedTxConfirmation)).
|
|
60
|
+
await expect($(dappSubmittedTxConfirmation)).toHaveText('check your wallet', { containing: true });
|
|
61
61
|
});
|
|
62
62
|
});
|
|
63
63
|
});
|
|
@@ -42,7 +42,7 @@ describe('dapp/cip95', () => {
|
|
|
42
42
|
});
|
|
43
43
|
|
|
44
44
|
it('dapp should detect test wallet', async () => {
|
|
45
|
-
await expect($(pWalletFound)).
|
|
45
|
+
await expect($(pWalletFound)).toHaveText('true', { containing: true });
|
|
46
46
|
});
|
|
47
47
|
|
|
48
48
|
describe('dapp can use cip95 wallet api', () => {
|
|
@@ -68,9 +68,9 @@ describe('dapp/cip95', () => {
|
|
|
68
68
|
});
|
|
69
69
|
|
|
70
70
|
it('dapp gets correct addresses from cip95 wallet api', async () => {
|
|
71
|
-
await expect($(dappChangeAddress)).
|
|
72
|
-
await expect($(dappStakeAddress)).
|
|
73
|
-
await expect($(dappUsedAddress)).
|
|
71
|
+
await expect($(dappChangeAddress)).toHaveText(walletAddr, { containing: true });
|
|
72
|
+
await expect($(dappStakeAddress)).toHaveText(walletStakeAddr, { containing: true });
|
|
73
|
+
await expect($(dappUsedAddress)).toHaveText(walletAddr, { containing: true });
|
|
74
74
|
});
|
|
75
75
|
|
|
76
76
|
it('getRegisteredPubStakeKeys gets active public stake keys from cip95 wallet api', async () => {
|
|
@@ -81,12 +81,12 @@ describe('dapp/cip95', () => {
|
|
|
81
81
|
it('getPubDRepKey gets the DRep key from cip95 wallet api', async () => {
|
|
82
82
|
const dappDrepKey = await $(dappGetPubDrepKey).getText();
|
|
83
83
|
expect(dappDrepKey.length).toBeGreaterThan(0);
|
|
84
|
-
await expect($(dappDrepId)).
|
|
84
|
+
await expect($(dappDrepId)).toHaveText('drep', { containing: true });
|
|
85
85
|
});
|
|
86
86
|
|
|
87
87
|
it('supportedExtensions and getExtensions both return cip95', async () => {
|
|
88
|
-
await expect($(liSupportedExtensions)).
|
|
89
|
-
await expect($(liGetExtensions)).
|
|
88
|
+
await expect($(liSupportedExtensions)).toHaveText('95', { containing: true });
|
|
89
|
+
await expect($(liGetExtensions)).toHaveText('95', { containing: true });
|
|
90
90
|
});
|
|
91
91
|
});
|
|
92
92
|
});
|
|
@@ -76,8 +76,8 @@ describe('wallet', () => {
|
|
|
76
76
|
});
|
|
77
77
|
walletAddr1 = await $(spanAddress).getText();
|
|
78
78
|
walletStakeAddr1 = await $(spanStakeAddress).getText();
|
|
79
|
-
expect(walletAddr1).
|
|
80
|
-
expect(walletStakeAddr1).
|
|
79
|
+
expect(walletAddr1).toContain('addr');
|
|
80
|
+
expect(walletStakeAddr1).toContain('stake');
|
|
81
81
|
await expect($(activeWalletName)).toHaveText(getObservableWalletName(0));
|
|
82
82
|
});
|
|
83
83
|
});
|
|
@@ -102,14 +102,14 @@ describe('wallet', () => {
|
|
|
102
102
|
|
|
103
103
|
// Delegation transaction was submitted successfully
|
|
104
104
|
const txId = await $('#multiDelegation .delegateTxId').getText();
|
|
105
|
-
expect(txId).
|
|
105
|
+
expect(txId).toContain('TxId');
|
|
106
106
|
|
|
107
107
|
// Wallet reports delegating to 3 pools
|
|
108
108
|
await browser.waitUntil(
|
|
109
109
|
async () => {
|
|
110
110
|
try {
|
|
111
|
-
const
|
|
112
|
-
return
|
|
111
|
+
const delegatedPoolCount = await $$(liPools).length;
|
|
112
|
+
return delegatedPoolCount === NUM_POOLS;
|
|
113
113
|
} catch {
|
|
114
114
|
return false;
|
|
115
115
|
}
|
|
@@ -125,8 +125,8 @@ describe('wallet', () => {
|
|
|
125
125
|
it('can switch to another wallet', async () => {
|
|
126
126
|
// Automatically deactivates first wallet, but keeps the store available for future activation
|
|
127
127
|
await $(btnActivateWallet2).click();
|
|
128
|
-
await expect($(spanAddress)).not.
|
|
129
|
-
await expect($(spanAddress)).
|
|
128
|
+
await expect($(spanAddress)).not.toHaveText(walletAddr1, { containing: true });
|
|
129
|
+
await expect($(spanAddress)).toHaveText('addr', { containing: true });
|
|
130
130
|
await expect($(activeWalletName)).toHaveText(getObservableWalletName(1));
|
|
131
131
|
});
|
|
132
132
|
|
|
@@ -138,10 +138,10 @@ describe('wallet', () => {
|
|
|
138
138
|
it('can destroy second wallet before switching back to the first wallet', async () => {
|
|
139
139
|
// Destroy also clears associated store. Store will be rebuilt during future activation of same wallet
|
|
140
140
|
await $(destroyWallet).click();
|
|
141
|
-
await expect($(spanAddress)).
|
|
141
|
+
await expect($(spanAddress)).toHaveText('-', { containing: true });
|
|
142
142
|
|
|
143
143
|
await $(btnActivateWallet1).click();
|
|
144
|
-
await expect($(spanAddress)).
|
|
144
|
+
await expect($(spanAddress)).toHaveText(walletAddr1, { containing: true });
|
|
145
145
|
await expect($(activeWalletName)).toHaveText(getObservableWalletName(0));
|
|
146
146
|
});
|
|
147
147
|
|
|
@@ -2,13 +2,6 @@ const path = require('path');
|
|
|
2
2
|
|
|
3
3
|
module.exports = {
|
|
4
4
|
config: {
|
|
5
|
-
autoCompileOpts: {
|
|
6
|
-
autoCompile: true,
|
|
7
|
-
tsNodeOpts: {
|
|
8
|
-
project: 'test/web-extension/tsconfig.json',
|
|
9
|
-
transpileOnly: true
|
|
10
|
-
}
|
|
11
|
-
},
|
|
12
5
|
bail: 0,
|
|
13
6
|
baseUrl: 'http://localhost:4567',
|
|
14
7
|
capabilities: [
|
|
@@ -51,10 +44,11 @@ module.exports = {
|
|
|
51
44
|
{ mount: '/cip95-cardano-wallet-connector', path: path.join(__dirname, 'dapp-cip95/build') }
|
|
52
45
|
]
|
|
53
46
|
}
|
|
54
|
-
]
|
|
55
|
-
'chromedriver'
|
|
47
|
+
]
|
|
56
48
|
],
|
|
57
49
|
specs: ['./**/*.spec.ts'],
|
|
50
|
+
// WebdriverIO v8+ auto-compiles TS via tsx; point it at the local tsconfig
|
|
51
|
+
tsConfigPath: path.join(__dirname, 'tsconfig.json'),
|
|
58
52
|
waitforTimeout: 10_000
|
|
59
53
|
}
|
|
60
54
|
};
|