> bitvid@1.0.0 test:unit > node scripts/run-unit-tests.mjs → Running tests/app-batch-fetch-profiles.test.mjs TAP version 13 # Subtest: batchFetchProfiles handles fast and failing relays ok 1 - batchFetchProfiles handles fast and failing relays --- duration_ms: 4.105733 type: 'test' ... # Subtest: batchFetchProfiles respects forceRefresh ok 2 - batchFetchProfiles respects forceRefresh --- duration_ms: 0.874928 type: 'test' ... 1..2 # tests 2 # suites 0 # pass 2 # fail 0 # cancelled 0 # skipped 0 # todo 0 # duration_ms 17.286759 → Running tests/app-state.test.mjs TAP version 13 # Subtest: AppState # Subtest: Initial state is clean ok 1 - Initial state is clean --- duration_ms: 2.328402 type: 'test' ... # Subtest: setPubkey() updates state and notifies subscribers ok 2 - setPubkey() updates state and notifies subscribers --- duration_ms: 0.899231 type: 'test' ... # Subtest: setCurrentUserNpub() updates state ok 3 - setCurrentUserNpub() updates state --- duration_ms: 0.480272 type: 'test' ... # Subtest: setCurrentVideo() updates state ok 4 - setCurrentVideo() updates state --- duration_ms: 0.58355 type: 'test' ... # Subtest: setVideosMap() updates state ok 5 - setVideosMap() updates state --- duration_ms: 0.531757 type: 'test' ... # Subtest: setVideoSubscription() updates state ok 6 - setVideoSubscription() updates state --- duration_ms: 0.394451 type: 'test' ... # Subtest: setModalState() updates state and notifies modal subscribers ok 7 - setModalState() updates state and notifies modal subscribers --- duration_ms: 0.794343 type: 'test' ... # Subtest: Global subscriber receives updates ok 8 - Global subscriber receives updates --- duration_ms: 0.556557 type: 'test' ... # Subtest: resetAppState() clears all state and notifies ok 9 - resetAppState() clears all state and notifies --- duration_ms: 0.692509 type: 'test' ... 1..9 ok 1 - AppState --- duration_ms: 9.317401 type: 'suite' ... 1..1 # tests 9 # suites 1 # pass 9 # fail 0 # cancelled 0 # skipped 0 # todo 0 # duration_ms 26.818692 → Running tests/app/channel-profile-moderation.test.mjs node:internal/modules/package_json_reader:314 throw new ERR_MODULE_NOT_FOUND(packageName, fileURLToPath(base), null); ^ Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'jsdom' imported from /app/tests/app/channel-profile-moderation.test.mjs at Object.getPackageJSONURL (node:internal/modules/package_json_reader:314:9) at packageResolve (node:internal/modules/esm/resolve:767:81) at moduleResolve (node:internal/modules/esm/resolve:853:18) at defaultResolve (node:internal/modules/esm/resolve:983:11) at #cachedDefaultResolve (node:internal/modules/esm/loader:731:20) at ModuleLoader.resolve (node:internal/modules/esm/loader:708:38) at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:310:38) at ModuleJob._link (node:internal/modules/esm/module_job:182:49) { code: 'ERR_MODULE_NOT_FOUND' } Node.js v22.22.0 ✖ tests/app/channel-profile-moderation.test.mjs failed with exit code 1