This update aligns `tests/services/relay-health-service.test.mjs` with the actual state object structure used in `RelayHealthService`, which now includes `consecutiveFailures` and `lastUserLogAt` properties. This fixes a CI failure in the `agent-review` job.
The previous fix for `tests/app-batch-fetch-profiles.test.mjs` (duplicate variable) is also included in this branch history.
Co-authored-by: PR0M3TH3AN <[email protected]>
This fixes a syntax error in `tests/app-batch-fetch-profiles.test.mjs` where `originalReadRelays` was declared twice, causing the CI `agent-review` job (and subsequent deploy checks) to fail.
The underlying NIP-07 decryption fix (correctly resolving signer capabilities) remains in place from the previous commit.
Co-authored-by: PR0M3TH3AN <[email protected]>
Resolves a SyntaxError where 'originalReadRelays' was declared twice in 'tests/app-batch-fetch-profiles.test.mjs', causing CI failures.
Also fixes a race condition in `js/nostr/client.js` where NIP-07 permission upgrades were not awaited, causing `tests/nostr-login-permissions.test.mjs` to fail. Updated tests to accommodate the multi-pass login flow.
Co-authored-by: PR0M3TH3AN <[email protected]>
Resolves a SyntaxError where 'originalReadRelays' was declared twice in 'tests/app-batch-fetch-profiles.test.mjs', causing CI failures. This change ensures the test file parses and runs correctly.
Co-authored-by: PR0M3TH3AN <[email protected]>
Removed unused exports and functions identified as dead code.
- Removed unused exports from `js/utils/storage.js`, `js/utils/storagePointer.js`, `js/utils/videoTags.js`, `js/ui/moderationCopy.js`.
- Removed unused function `updateTagPillStrip` from `js/ui/components/tagPillList.js` and associated tests.
- Updated `tests/utils/video-tags.test.mjs` to remove test for private function.
- Added `artifacts/depcheck.json` showing dependency analysis.
- Fixed unit test mock for `ProfileModalController` to include `hashtagPreferencesService.load`.
Co-authored-by: PR0M3TH3AN <[email protected]>
Removed unused exports and functions identified as dead code.
- Removed unused exports from `js/utils/storage.js`, `js/utils/storagePointer.js`, `js/utils/videoTags.js`, `js/ui/moderationCopy.js`.
- Removed unused function `updateTagPillStrip` from `js/ui/components/tagPillList.js` and associated tests.
- Updated `tests/utils/video-tags.test.mjs` to remove test for private function.
- Added `artifacts/depcheck.json` showing dependency analysis.
Co-authored-by: PR0M3TH3AN <[email protected]>
Added the missing `load()` method to the `hashtagPreferences` mock in `tests/profile-modal-controller.test.mjs`. This resolves the `TypeError` encountered during the `handleAddHashtagPreference` test case, ensuring the test suite passes consistently in CI.
Co-authored-by: PR0M3TH3AN <[email protected]>
Updated `tests/app-batch-fetch-profiles.test.mjs` to correctly mock `readRelays` in addition to `relays` and `writeRelays`. `profileMetadataService.js` prioritizes `readRelays`, causing the test to make unexpected network calls when falling back to default values. This fix ensures the test isolation holds and assertions pass consistently.
Co-authored-by: PR0M3TH3AN <[email protected]>
- Update `tests/profile-modal-controller.test.mjs` to include a mock for `hashtagPreferences.load`.
- Fixes `TypeError: this.hashtagPreferencesService.load is not a function` in unit tests.
- Ensures all tests pass locally.
Co-authored-by: PR0M3TH3AN <[email protected]>
- Update `tests/app-batch-fetch-profiles.test.mjs` to correctly mock `nostrClient.readRelays`.
- Ensure deterministic relay query counts in unit tests.
- Fixes CI failure where `actual: 4` vs `expected: 2` due to unmocked read relays.
Co-authored-by: PR0M3TH3AN <[email protected]>
- Add missing `load` method to `baseHashtagPreferences` mock in `tests/profile-modal-controller.test.mjs` to fix `TypeError: this.hashtagPreferencesService.load is not a function` in unit tests.
Co-authored-by: PR0M3TH3AN <[email protected]>
- Fix `tests/app-batch-fetch-profiles.test.mjs` by mocking `readRelays` to ensure deterministic query counts.
- Set `NODE_ENV=test` in `scripts/run-unit-tests.mjs` to prevent `nostr-tools` bootstrap failures in test environment.
- Run `npm ci` and `npm audit fix` to maintain lockfile health.
Co-authored-by: PR0M3TH3AN <[email protected]>
- Updates `tests/profile-modal-controller.test.mjs` to include a mock for `load()` in `baseHashtagPreferences`.
- Resolves the `TypeError: this.hashtagPreferencesService.load is not a function` error seen in CI.
- Ensures unit tests pass for ProfileModalController interactions with the hashtag pane.
Co-authored-by: PR0M3TH3AN <[email protected]>
- Updates `tests/app-batch-fetch-profiles.test.mjs` to mock `nostrClient.readRelays` alongside `relays` and `writeRelays`.
- Ensures `batchFetchProfilesFromRelays` queries only the mocked test relays (fast/fail), resolving the `4 !== 2` assertion error in CI.
- Matches logic in `profileMetadataService.js` which prioritizes `readRelays`.
Co-authored-by: PR0M3TH3AN <[email protected]>
- Add `load: async () => {}` stub to `baseHashtagPreferences` in `tests/profile-modal-controller.test.mjs` to prevent `TypeError` during `handleAddHashtagPreference` test.
- Fixes CI failure in `tests/profile-modal-controller.test.mjs` where `this.hashtagPreferencesService.load` was undefined.
- Verified with `npm run test:unit:shard3`.
Co-authored-by: PR0M3TH3AN <[email protected]>
Removed unused exports and functions identified as dead code.
- Removed unused exports from `js/utils/storage.js`, `js/utils/storagePointer.js`, `js/utils/videoTags.js`, `js/ui/moderationCopy.js`.
- Removed unused function `updateTagPillStrip` from `js/ui/components/tagPillList.js` and associated tests.
- Updated `tests/utils/video-tags.test.mjs` to remove test for private function.
- Added `artifacts/depcheck.json` showing dependency analysis.
Co-authored-by: PR0M3TH3AN <[email protected]>
- Fixes `ReferenceError` in `tests/nostr-login-permissions.test.mjs` by defining `plainCall`.
- Improves reliability of `tests/visual/overlay-layers.spec.ts` by explicitly scrolling the footer button into view before asserting visibility.
Co-authored-by: PR0M3TH3AN <[email protected]>
- Increased timeout and improved interaction robustness for `tests/visual/overlay-layers.spec.ts` to address CI timeouts.
- Fixed `ReferenceError` in `tests/nostr-login-permissions.test.mjs` caused by missing variable declaration.
- Added `_redirects` file for Netlify deployment.
Co-authored-by: PR0M3TH3AN <[email protected]>