Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | import unchanged from '@feasibleone/blong'; import {browser, realm} from '@feasibleone/blong'; /** * browser-test.ts — Browser platform suite for `e2e` tap tests. * * Loads the browser-side realms needed by the tap test flows (blong-test for * HTTP dispatch, blong-login for authentication helpers, blong-access for the * RBAC realm) plus a **test-only** `e2e` browser realm that discovers only * the `browser/test/` layer. The React `browser/orchestrator` layer is disabled * via config so the tap/ts-node runner does not try to load JSX. * * The browser-side `test.widget.flow` test calls the `e2e` API over HTTP * through the backend adapter, exercising the gateway RBAC (401/403/200). */ export default browser(blong => ({ url: import.meta.url, validation: blong.type.Object( { login: blong.type.Object({}), access: blong.type.Object({}), e2e: blong.type.Object({}), testClient: blong.type.Object({ backend: blong.type.Object({ namespace: blong.type.Array(blong.type.String()), }), }), }, {additionalProperties: false}, ), children: [ /** blong-test: provides test dispatch + backend HTTP adapter */ async function testClient() { return import('@feasibleone/blong-test/browser.ts'); }, /** blong-login: browser-side authentication helpers */ async function login() { return import('@feasibleone/blong-login/browser.ts'); }, /** blong-access: RBAC realm (login/authorization) */ async function access() { return import('@feasibleone/blong-access/browser.ts'); }, /** * Test-only `e2e` browser realm — discovers only the browser/test * layer (no React orchestrator components, which the tap runner cannot * load). */ async function e2e() { return realm(() => ({ url: import.meta.url, children: ['./browser/test'], config: { default: { 'browser/orchestrator': false, }, integration: { 'browser/orchestrator': false, }, }, })); }, ], config: { default: {}, dev: { login: {}, access: {}, e2e: {}, }, integration: { testClient: { backend: { // Namespaces the browser backend adapter proxies to the server namespace: ['e2e', 'login', 'access'], }, }, login: {}, access: {}, e2e: {}, // Disable the React browser layers for this tap run. 'browser/orchestrator': false, watch: { test: ['test.widget.flow', 'test.gadget.flow'], }, }, }, })); |