NYM-1199: wire + verify mock Tauri binary for WebdriverIO)
This commit is contained in:
@@ -40,7 +40,8 @@
|
||||
|
||||
- [x] 6.1 Run the primary Playwright suite locally (macOS) — **DONE: 3/3 green** against the mock-wired app shell. (CI execution still pending the first push.) Fixes needed to get a clean browser render: skip React Refresh/HMR + the dev-server live-reload client in the mock build (`webpack.dev.js`, avoids missing `core-js-pure`/`ansi-html-community`); add the relative `node_modules` walk for the mock build (pnpm strict + absolute `resolve.modules` dropped `object-assign`); make `src/utils/common.ts` resolve `getCurrentWebviewWindow()` lazily (was crashing at import outside Tauri).
|
||||
- [x] 6.2a **Fixed the pre-existing `webpack:prod` failure** that blocked the mock binary (and `pnpm build` generally). Root cause: the shared `ForkTsCheckerWebpackPlugin` runs in `mode: 'write-references'` (emit) and, with the wallet's `allowJs: true` + no `outDir`, emitted `.js` next to sources — polluting `src` (broke Jest), erroring "would overwrite input file" on `.test.js`/`.test.ts` pairs, and type-checking test files (jest globals). Contained wallet fix: add `declare module '*.css'` (`src/typings/css.d.ts`), set `outDir: ./.tsbuild` (redirects the emit out of `src`; `tsc --noEmit`/ts-loader/ts-jest ignore it), and exclude `**/*.test.*` from the type-check program (Jest still type-checks tests via ts-jest). Result: `webpack:prod` exits 0, emits `dist/main.mock.html`, no `src` pollution.
|
||||
- [ ] 6.2b Confirm the native leg passes in Linux CI and skips cleanly on macOS — wiring done (4.2), prod build fixed (6.2a); remaining: build the mock binary (`tauri:build:mock`, in progress locally) and run the WebdriverIO suite, which is **Linux/Windows-only** (`tauri-driver`), so it executes in the `e2e-tauri` CI job.
|
||||
- [x] 6.2b Built the mock binary locally (`tauri:build:mock`, ~3m48s) and **visually confirmed** it boots straight into the Family page in the real app shell (owner persona / "Create a family" entry, network "Testnet Sandbox", sidebar "Version mock" — i.e. `MockMainContextProvider` + `MockFamiliesContextProvider`, no Tauri IPC/login). Fixed the binary path in `wdio.conf.ts` (`target/release/NymWallet` — the Cargo workspace target is at the wallet root, not `src-tauri/target`).
|
||||
- [ ] 6.2c Run the WebdriverIO suite against the binary — **Linux/Windows-only** (`tauri-driver`), so it executes in the `e2e-tauri` CI job (skips on macOS via `run.mjs`). This is the one remaining unrun step.
|
||||
- [x] 6.3 Confirm `tsc` + eslint stay clean and the production build is unaffected — verified: after `pnpm install`, `tsc` is fully clean (exit 0); `main.mock.tsx` + `utils/common.ts` lint clean; webpack prod-safe (no `mainMock` entry with flag off).
|
||||
- [x] 6.4 Confirm the provider seam didn't break Code Connect (seam is a separate entry; `FamilyPage.tsx` + `FamilyPageRoute.tsx` untouched; `FamilyPage.figma.tsx` now type-checks once `@figma/code-connect` is installed) and the Nym 2.0 theme swap left journey `data-testid`s intact (color-only).
|
||||
- [x] 6.5 Document the tiered setup + mock-flag usage (`e2e/README.md`).
|
||||
|
||||
Reference in New Issue
Block a user