@rimori/playwright-testing 0.3.27 → 0.3.28-next.1

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.
@@ -156,17 +156,8 @@ class RimoriE2ETestEnvironment {
156
156
  }
157
157
  async completeOnboarding(page, onboarding, e2ePluginId) {
158
158
  console.log(`[E2E] Starting onboarding`);
159
- await page.goto('/onboarding');
160
- await page.waitForTimeout(5000);
161
- const isOnboaded = page.url().includes('/dashboard');
162
- if (!isOnboaded) {
163
- console.log(`[E2E] Onboarding user`);
164
- await (0, onboarding_1.completeOnboarding)(page, onboarding, e2ePluginId);
165
- console.log(`[E2E] Onboarding completed`);
166
- }
167
- else {
168
- console.log(`[E2E] User already onboarded`);
169
- }
159
+ await (0, onboarding_1.completeOnboarding)(page, onboarding, e2ePluginId);
160
+ console.log(`[E2E] Onboarding completed`);
170
161
  }
171
162
  async completeExerciseSetup(page, exercises) {
172
163
  for (const exercise of exercises) {
@@ -1 +1 @@
1
- import{_ as c}from"./preload-helper.js";const r="__mf_module_cache__";globalThis[r]||={share:{},remote:{}};globalThis[r].share||={};globalThis[r].remote||={};const t=globalThis[r];let e;async function m(){return e||(e=(async()=>{const n=await(await c(()=>import("./remoteEntry.js"),[])).init(),s={react:{shareConfig:{singleton:!0,requiredVersion:"^19.2.5"}},"react-dom":{shareConfig:{singleton:!0,requiredVersion:"^19.2.5"}},"react/jsx-dev-runtime":{shareConfig:{singleton:!0,requiredVersion:"^19.2.5"}},"react/jsx-runtime":{shareConfig:{singleton:!0,requiredVersion:"^19.2.5"}},"@rimori/client":{shareConfig:{singleton:!0,requiredVersion:"^2.5.36"}},"@rimori/react-client":{shareConfig:{singleton:!0,requiredVersion:"^0.4.22"}},"@tanstack/react-query":{shareConfig:{singleton:!0,requiredVersion:"^5.100.5"}},zod:{shareConfig:{singleton:!0,requiredVersion:"^3.25.76"}}};for(const[o,u]of Object.entries(s))t.share[o]===void 0&&await n.loadShare(o,{customShareInfo:{shareConfig:u.shareConfig}}).then(i=>{const l=typeof i=="function"?i():i;return Promise.resolve(l).then(h=>{t.share[o]=h})});const a=[];return await Promise.all(a),n})()),e}e=m();export{e as hostInitPromise,m as initHost};
1
+ import{_ as c}from"./preload-helper.js";const r="__mf_module_cache__";globalThis[r]||={share:{},remote:{}};globalThis[r].share||={};globalThis[r].remote||={};const t=globalThis[r];let e;async function m(){return e||(e=(async()=>{const i=await(await c(()=>import("./remoteEntry.js"),[])).init(),s={react:{shareConfig:{singleton:!0,requiredVersion:"^19.2.5"}},"react-dom":{shareConfig:{singleton:!0,requiredVersion:"^19.2.5"}},"react/jsx-dev-runtime":{shareConfig:{singleton:!0,requiredVersion:"^19.2.5"}},"react/jsx-runtime":{shareConfig:{singleton:!0,requiredVersion:"^19.2.5"}},"@rimori/client":{shareConfig:{singleton:!0,requiredVersion:"^2.5.36-next.0"}},"@rimori/react-client":{shareConfig:{singleton:!0,requiredVersion:"^0.4.22"}},"@tanstack/react-query":{shareConfig:{singleton:!0,requiredVersion:"^5.100.5"}},zod:{shareConfig:{singleton:!0,requiredVersion:"^3.25.76"}}};for(const[n,u]of Object.entries(s))t.share[n]===void 0&&await i.loadShare(n,{customShareInfo:{shareConfig:u.shareConfig}}).then(o=>{const l=typeof o=="function"?o():o;return Promise.resolve(l).then(h=>{t.share[n]=h})});const a=[];return await Promise.all(a),i})()),e}e=m();export{e as hostInitPromise,m as initHost};
@@ -1 +1 @@
1
- import{_ as n}from"./preload-helper.js";import"./remoteEntry.js";const o={"@rimori/client":async()=>await n(()=>import("./__mfe_internal__rimori_mf_2_scenario_mf_2_host__loadShare___mf_0_rimori_mf_1_client__loadShare__.mjs.js").then(r=>r.g),[]),"@rimori/react-client":async()=>await n(()=>import("./__mfe_internal__rimori_mf_2_scenario_mf_2_host__loadShare___mf_0_rimori_mf_1_react_mf_2_client__loadShare__.mjs.js").then(r=>r.b),[]),"@tanstack/react-query":async()=>await n(()=>import("./__mfe_internal__rimori_mf_2_scenario_mf_2_host__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.mjs.js").then(r=>r.a),[]),react:async()=>await n(()=>import("./__mfe_internal__rimori_mf_2_scenario_mf_2_host__loadShare__react__loadShare__.mjs.js").then(r=>r._),[]),"react-dom":async()=>await n(()=>import("./__mfe_internal__rimori_mf_2_scenario_mf_2_host__loadShare__react_mf_2_dom__loadShare__.mjs.js").then(r=>r._),[]),"react-dom/client":async()=>await n(()=>import("./__mfe_internal__rimori_mf_2_scenario_mf_2_host__loadShare__react_mf_2_dom_mf_1_client__loadShare__.mjs.js").then(r=>r._),[]),"react/jsx-dev-runtime":async()=>await n(()=>import("./__mfe_internal__rimori_mf_2_scenario_mf_2_host__loadShare__react_mf_1_jsx_mf_2_dev_mf_2_runtime__loadShare__.mjs.js").then(r=>r._),[]),"react/jsx-runtime":async()=>await n(()=>import("./__mfe_internal__rimori_mf_2_scenario_mf_2_host__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.mjs.js").then(r=>r._),[]),zod:async()=>await n(()=>import("./__mfe_internal__rimori_mf_2_scenario_mf_2_host__loadShare__zod__loadShare__.mjs.js").then(r=>r.a),[])},a={"@rimori/client":{name:"@rimori/client",version:"2.5.36",scope:["default"],loaded:!1,from:"__mfe_internal__rimori-scenario-host",async get(){a["@rimori/client"].loaded=!0;const{"@rimori/client":e}=o,t={...await e()};return Object.defineProperty(t,"__esModule",{value:!0,enumerable:!1}),function(){return t}},shareConfig:{singleton:!0,requiredVersion:"^2.5.36"}},"@rimori/react-client":{name:"@rimori/react-client",version:"0.4.22",scope:["default"],loaded:!1,from:"__mfe_internal__rimori-scenario-host",async get(){a["@rimori/react-client"].loaded=!0;const{"@rimori/react-client":e}=o,t={...await e()};return Object.defineProperty(t,"__esModule",{value:!0,enumerable:!1}),function(){return t}},shareConfig:{singleton:!0,requiredVersion:"^0.4.22"}},"@tanstack/react-query":{name:"@tanstack/react-query",version:"5.100.5",scope:["default"],loaded:!1,from:"__mfe_internal__rimori-scenario-host",async get(){a["@tanstack/react-query"].loaded=!0;const{"@tanstack/react-query":e}=o,t={...await e()};return Object.defineProperty(t,"__esModule",{value:!0,enumerable:!1}),function(){return t}},shareConfig:{singleton:!0,requiredVersion:"^5.100.5"}},react:{name:"react",version:"19.2.5",scope:["default"],loaded:!1,from:"__mfe_internal__rimori-scenario-host",async get(){a.react.loaded=!0;const{react:e}=o,t={...await e()};return Object.defineProperty(t,"__esModule",{value:!0,enumerable:!1}),function(){return t}},shareConfig:{singleton:!0,requiredVersion:"^19.2.5"}},"react-dom":{name:"react-dom",version:"19.2.5",scope:["default"],loaded:!1,from:"__mfe_internal__rimori-scenario-host",async get(){a["react-dom"].loaded=!0;const{"react-dom":e}=o,t={...await e()};return Object.defineProperty(t,"__esModule",{value:!0,enumerable:!1}),function(){return t}},shareConfig:{singleton:!0,requiredVersion:"^19.2.5"}},"react-dom/client":{name:"react-dom/client",version:"19.2.5",scope:["default"],loaded:!1,from:"__mfe_internal__rimori-scenario-host",async get(){a["react-dom/client"].loaded=!0;const{"react-dom/client":e}=o,t={...await e()};return Object.defineProperty(t,"__esModule",{value:!0,enumerable:!1}),function(){return t}},shareConfig:{singleton:!0,requiredVersion:"^19.2.5"}},"react/jsx-dev-runtime":{name:"react/jsx-dev-runtime",version:"19.2.5",scope:["default"],loaded:!1,from:"__mfe_internal__rimori-scenario-host",async get(){a["react/jsx-dev-runtime"].loaded=!0;const{"react/jsx-dev-runtime":e}=o,t={...await e()};return Object.defineProperty(t,"__esModule",{value:!0,enumerable:!1}),function(){return t}},shareConfig:{singleton:!0,requiredVersion:"^19.2.5"}},"react/jsx-runtime":{name:"react/jsx-runtime",version:"19.2.5",scope:["default"],loaded:!1,from:"__mfe_internal__rimori-scenario-host",async get(){a["react/jsx-runtime"].loaded=!0;const{"react/jsx-runtime":e}=o,t={...await e()};return Object.defineProperty(t,"__esModule",{value:!0,enumerable:!1}),function(){return t}},shareConfig:{singleton:!0,requiredVersion:"^19.2.5"}},zod:{name:"zod",version:"3.25.76",scope:["default"],loaded:!1,from:"__mfe_internal__rimori-scenario-host",async get(){a.zod.loaded=!0;const{zod:e}=o,t={...await e()};return Object.defineProperty(t,"__esModule",{value:!0,enumerable:!1}),function(){return t}},shareConfig:{singleton:!0,requiredVersion:"^3.25.76"}}},c=[];export{c as usedRemotes,a as usedShared};
1
+ import{_ as n}from"./preload-helper.js";import"./remoteEntry.js";const o={"@rimori/client":async()=>await n(()=>import("./__mfe_internal__rimori_mf_2_scenario_mf_2_host__loadShare___mf_0_rimori_mf_1_client__loadShare__.mjs.js").then(r=>r.g),[]),"@rimori/react-client":async()=>await n(()=>import("./__mfe_internal__rimori_mf_2_scenario_mf_2_host__loadShare___mf_0_rimori_mf_1_react_mf_2_client__loadShare__.mjs.js").then(r=>r.b),[]),"@tanstack/react-query":async()=>await n(()=>import("./__mfe_internal__rimori_mf_2_scenario_mf_2_host__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.mjs.js").then(r=>r.a),[]),react:async()=>await n(()=>import("./__mfe_internal__rimori_mf_2_scenario_mf_2_host__loadShare__react__loadShare__.mjs.js").then(r=>r._),[]),"react-dom":async()=>await n(()=>import("./__mfe_internal__rimori_mf_2_scenario_mf_2_host__loadShare__react_mf_2_dom__loadShare__.mjs.js").then(r=>r._),[]),"react-dom/client":async()=>await n(()=>import("./__mfe_internal__rimori_mf_2_scenario_mf_2_host__loadShare__react_mf_2_dom_mf_1_client__loadShare__.mjs.js").then(r=>r._),[]),"react/jsx-dev-runtime":async()=>await n(()=>import("./__mfe_internal__rimori_mf_2_scenario_mf_2_host__loadShare__react_mf_1_jsx_mf_2_dev_mf_2_runtime__loadShare__.mjs.js").then(r=>r._),[]),"react/jsx-runtime":async()=>await n(()=>import("./__mfe_internal__rimori_mf_2_scenario_mf_2_host__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.mjs.js").then(r=>r._),[]),zod:async()=>await n(()=>import("./__mfe_internal__rimori_mf_2_scenario_mf_2_host__loadShare__zod__loadShare__.mjs.js").then(r=>r.a),[])},a={"@rimori/client":{name:"@rimori/client",version:"2.5.36-next.0",scope:["default"],loaded:!1,from:"__mfe_internal__rimori-scenario-host",async get(){a["@rimori/client"].loaded=!0;const{"@rimori/client":e}=o,t={...await e()};return Object.defineProperty(t,"__esModule",{value:!0,enumerable:!1}),function(){return t}},shareConfig:{singleton:!0,requiredVersion:"^2.5.36-next.0"}},"@rimori/react-client":{name:"@rimori/react-client",version:"0.4.22",scope:["default"],loaded:!1,from:"__mfe_internal__rimori-scenario-host",async get(){a["@rimori/react-client"].loaded=!0;const{"@rimori/react-client":e}=o,t={...await e()};return Object.defineProperty(t,"__esModule",{value:!0,enumerable:!1}),function(){return t}},shareConfig:{singleton:!0,requiredVersion:"^0.4.22"}},"@tanstack/react-query":{name:"@tanstack/react-query",version:"5.100.5",scope:["default"],loaded:!1,from:"__mfe_internal__rimori-scenario-host",async get(){a["@tanstack/react-query"].loaded=!0;const{"@tanstack/react-query":e}=o,t={...await e()};return Object.defineProperty(t,"__esModule",{value:!0,enumerable:!1}),function(){return t}},shareConfig:{singleton:!0,requiredVersion:"^5.100.5"}},react:{name:"react",version:"19.2.5",scope:["default"],loaded:!1,from:"__mfe_internal__rimori-scenario-host",async get(){a.react.loaded=!0;const{react:e}=o,t={...await e()};return Object.defineProperty(t,"__esModule",{value:!0,enumerable:!1}),function(){return t}},shareConfig:{singleton:!0,requiredVersion:"^19.2.5"}},"react-dom":{name:"react-dom",version:"19.2.5",scope:["default"],loaded:!1,from:"__mfe_internal__rimori-scenario-host",async get(){a["react-dom"].loaded=!0;const{"react-dom":e}=o,t={...await e()};return Object.defineProperty(t,"__esModule",{value:!0,enumerable:!1}),function(){return t}},shareConfig:{singleton:!0,requiredVersion:"^19.2.5"}},"react-dom/client":{name:"react-dom/client",version:"19.2.5",scope:["default"],loaded:!1,from:"__mfe_internal__rimori-scenario-host",async get(){a["react-dom/client"].loaded=!0;const{"react-dom/client":e}=o,t={...await e()};return Object.defineProperty(t,"__esModule",{value:!0,enumerable:!1}),function(){return t}},shareConfig:{singleton:!0,requiredVersion:"^19.2.5"}},"react/jsx-dev-runtime":{name:"react/jsx-dev-runtime",version:"19.2.5",scope:["default"],loaded:!1,from:"__mfe_internal__rimori-scenario-host",async get(){a["react/jsx-dev-runtime"].loaded=!0;const{"react/jsx-dev-runtime":e}=o,t={...await e()};return Object.defineProperty(t,"__esModule",{value:!0,enumerable:!1}),function(){return t}},shareConfig:{singleton:!0,requiredVersion:"^19.2.5"}},"react/jsx-runtime":{name:"react/jsx-runtime",version:"19.2.5",scope:["default"],loaded:!1,from:"__mfe_internal__rimori-scenario-host",async get(){a["react/jsx-runtime"].loaded=!0;const{"react/jsx-runtime":e}=o,t={...await e()};return Object.defineProperty(t,"__esModule",{value:!0,enumerable:!1}),function(){return t}},shareConfig:{singleton:!0,requiredVersion:"^19.2.5"}},zod:{name:"zod",version:"3.25.76",scope:["default"],loaded:!1,from:"__mfe_internal__rimori-scenario-host",async get(){a.zod.loaded=!0;const{zod:e}=o,t={...await e()};return Object.defineProperty(t,"__esModule",{value:!0,enumerable:!1}),function(){return t}},shareConfig:{singleton:!0,requiredVersion:"^3.25.76"}}},c=[];export{c as usedRemotes,a as usedShared};
@@ -19,11 +19,15 @@ async function completeOnboarding(page, onboarding, e2ePluginId) {
19
19
  console.log(`[E2E] E2E plugin ID: ${e2ePluginId}`);
20
20
  console.log(`[E2E] Onboarding: ${JSON.stringify(onboarding)}`);
21
21
  const url = e2ePluginId ? `/onboarding?flag-e2e-plugin-id=${e2ePluginId}` : `/onboarding`;
22
- await page.goto(url, { waitUntil: 'networkidle' });
23
22
  page.setDefaultTimeout(60000);
24
23
  page.setDefaultNavigationTimeout(60000);
25
- // Ensure we're on onboarding page
26
- await (0, test_1.expect)(page).toHaveURL(/\/onboarding/);
24
+ await page.goto(url, { waitUntil: 'networkidle' });
25
+ // Wait for the app to settle — new users stay on /onboarding, existing users redirect to /dashboard
26
+ await page.waitForURL((u) => u.pathname.includes('/onboarding') || u.pathname.includes('/dashboard'), { timeout: 15000 });
27
+ if (page.url().includes('/dashboard')) {
28
+ console.log('[E2E] User already onboarded, skipping onboarding steps');
29
+ return;
30
+ }
27
31
  await page.waitForTimeout(2000);
28
32
  // Step 1: Learning Reason (radio select, auto-advances after selection)
29
33
  const learningReasonOption = page.getByText(learningReasonMap[onboarding.learning_reason]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rimori/playwright-testing",
3
- "version": "0.3.27",
3
+ "version": "0.3.28-next.1",
4
4
  "description": "Playwright testing utilities for Rimori plugins and workers",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -12,7 +12,7 @@
12
12
  "source": "src/index.ts",
13
13
  "scripts": {
14
14
  "build": "tsc -p tsconfig.json && npm run build:harness",
15
- "build:harness": "vite build --config harness.vite.config.ts",
15
+ "build:harness": "vite build --config harness.vite.config.mts",
16
16
  "dev": "tsc -w --preserveWatchOutput -p tsconfig.json",
17
17
  "clean": "rimraf dist",
18
18
  "lint": "eslint \"src/**/*.{ts,tsx}\"",
@@ -27,13 +27,13 @@
27
27
  },
28
28
  "peerDependencies": {
29
29
  "@playwright/test": "^1.40.0",
30
- "@rimori/client": "^2.5.36"
30
+ "@rimori/client": "2.5.36-next.0"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@module-federation/enhanced": "2.3.3",
34
34
  "@module-federation/vite": "1.15.0",
35
35
  "@playwright/test": "^1.40.0",
36
- "@rimori/client": "^2.5.36",
36
+ "@rimori/client": "2.5.36-next.0",
37
37
  "@rimori/react-client": "^0.4.19",
38
38
  "@tanstack/react-query": "^5.56.2",
39
39
  "@types/node": "^20.12.7",