Trek_CN/server/tests/unit/services
Maurice 4974013995 fix journey bugs reported by roel-de-vries (#722-#736)
Mobile UI:
- #722 timeline carousel no longer cut off by BottomNav (uses --bottom-nav-h var)
- #723 scroll-snap-type relaxed to proximity so small swipes no longer skip entries
- #724 defensive padding-bottom fix in JourneySettingsDialog for iOS PWA
- #725 add back/settings buttons + journey title subtitle to mobile activity view
- #726 active entry re-centers after scroll settle; tap inactive card activates
  it (does not jump straight into editor)

Entry editor flow:
- #727 photo uploads queue locally until Save for existing entries too
  (previously fired upload immediately; Cancel silently kept the new photo)
- #728 Cancel/Close with unsaved changes now requires confirm (window.confirm)
- #729 linking a Gallery photo into an entry now copies the row (old MOVE
  behavior meant Remove-from-Entry also nuked the Gallery original)
- #731 addPhoto / addProviderPhoto / linkPhotoToEntry promote skeleton
  entries to concrete 'entry' type when content is added

Permissions:
- #732 updateJourney switched from canEdit to isOwner — editors can still
  edit entries and photos, just not the journey shell (title, cover, status)
- #733 Contributors list gains a per-row remove (X) control with confirm
- #734 my_role is computed server-side and returned with the journey; UI
  gates Settings/Add/Edit/Delete controls based on role
- #736 createOrUpdateJourneyShareLink + deleteJourneyShareLink now require
  isOwner (previously NO permission check at all — anyone authenticated
  could publish or unpublish a journey)

Immich upload (#730):
- migration 111: add users.immich_auto_upload (default 0)
- migration 112: seed provider_field for the toggle (idempotent, FK-safe)
- journey photo upload only mirrors to Immich when the user has opted in
- Settings UI gets a "Mirror journey photos to Immich on upload" checkbox

Test updates:
- JOURNEY-SVC-019 inverted to assert editor cannot update journey settings
- JOURNEY-SHARE-007 now passes userId (owner) to deleteJourneyShareLink
- FE-PAGE-JOURNEYDETAIL-148 inverted to assert photos stay pending until Save
- client/tests still green (2676/2676)

Also fixed en route: gallery entry title is now the literal 'Gallery' on the
wire (used to send the translated label, which broke server-side title === 'Gallery'
checks in non-English locales); confirm interpolation uses {username} single
braces matching the existing i18n runtime; Settings footer uses icon-only
delete/archive buttons on mobile so the row doesn't wrap.
2026-04-18 19:11:16 +02:00
..
adminService.test.ts fix(tests): update tests for granular auth toggles 2026-04-11 20:33:51 +02:00
apiKeyCrypto.test.ts Add comprehensive backend test suite (#339) 2026-04-03 13:17:53 +02:00
atlasService.test.ts fix(tests): update test helpers and assertions for migration-98 photo schema 2026-04-14 13:54:48 +02:00
auditLog.test.ts Add comprehensive backend test suite (#339) 2026-04-03 13:17:53 +02:00
authService.test.ts Add comprehensive backend test suite (#339) 2026-04-03 13:17:53 +02:00
authServiceDb.test.ts feat(auth): split OIDC_ONLY into granular auth toggles 2026-04-11 20:21:36 +02:00
backupService.test.ts fix(notifications): fix SMTP error surfacing, webhook button label, backup timestamp 2026-04-14 16:20:52 +02:00
budgetService.test.ts test: apply suite review improvements (01–11) 2026-04-06 20:08:13 +02:00
categoryService.test.ts test: expand test suite to 87.3% backend coverage 2026-04-06 20:08:30 +02:00
collabService.test.ts test: add comprehensive coverage for OAuth scopes, MCP, and core services 2026-04-11 14:08:09 +02:00
cookie.test.ts test: update cookie test to match sameSite lax change 2026-04-03 14:42:48 +02:00
dayService.test.ts test: expand test suite to 87.3% backend coverage 2026-04-06 20:08:30 +02:00
ephemeralTokens.test.ts test: expand test suite to 87.3% backend coverage 2026-04-06 20:08:30 +02:00
inAppNotificationActions.test.ts test: apply suite review improvements (01–11) 2026-04-06 20:08:13 +02:00
inAppNotificationPrefs.test.ts feat(notifications): add unified multi-channel notification system 2026-04-05 01:22:18 +02:00
journeyService.test.ts fix journey bugs reported by roel-de-vries (#722-#736) 2026-04-18 19:11:16 +02:00
journeyShareService.test.ts fix journey bugs reported by roel-de-vries (#722-#736) 2026-04-18 19:11:16 +02:00
kmlImportUtils.test.ts feat(places): unified file import modal with drag-and-drop and deduplication 2026-04-15 06:07:26 +02:00
kmzUnpack.test.ts fix(kml-import): address PR #488 review issues 2026-04-15 05:16:47 +02:00
mapsService.test.ts fix(maps): reduce Google Places API quota usage with persistent caching 2026-04-17 19:07:39 +02:00
memoriesHelpers.test.ts test: add comprehensive coverage for OAuth scopes, MCP, and core services 2026-04-11 14:08:09 +02:00
memoriesUnified.test.ts test: add comprehensive coverage for OAuth scopes, MCP, and core services 2026-04-11 14:08:09 +02:00
mfaCrypto.test.ts Add comprehensive backend test suite (#339) 2026-04-03 13:17:53 +02:00
migration.test.ts feat(notifications): add unified multi-channel notification system 2026-04-05 01:22:18 +02:00
notificationPreferencesService.test.ts feat(notifications): add ntfy as a first-class notification channel 2026-04-15 13:59:25 +02:00
notifications.test.ts feat(notifications): add ntfy as a first-class notification channel 2026-04-15 13:59:25 +02:00
notificationService.test.ts feat(notifications): add ntfy as a first-class notification channel 2026-04-15 13:59:25 +02:00
oauthService.test.ts security(oauth): harden OAuth 2.1/MCP implementation (Critical + High + Medium findings) 2026-04-10 02:03:27 +02:00
oidcService.test.ts test: add comprehensive coverage for OAuth scopes, MCP, and core services 2026-04-11 14:08:09 +02:00
packingService.test.ts test: expand test suite to 87.3% backend coverage 2026-04-06 20:08:30 +02:00
passwordPolicy.test.ts Add comprehensive backend test suite (#339) 2026-04-03 13:17:53 +02:00
permissions.test.ts test: expand test suite to 87.3% backend coverage 2026-04-06 20:08:30 +02:00
placeService.test.ts feat(import): selective GPX/KML element import and performance improvements 2026-04-18 01:28:37 +02:00
queryHelpers.test.ts test: apply suite review improvements (01–11) 2026-04-06 20:08:13 +02:00
settingsService.test.ts test: expand test suite to 87.3% backend coverage 2026-04-06 20:08:30 +02:00
tagService.test.ts test: expand test suite to 87.3% backend coverage 2026-04-06 20:08:30 +02:00
todoService.test.ts test: expand test suite to 87.3% backend coverage 2026-04-06 20:08:30 +02:00
tripService.test.ts fix(trips): preserve day content when trip date range changes 2026-04-15 01:28:53 +02:00
vacayService.test.ts test: expand test suite to 87.3% backend coverage 2026-04-06 20:08:30 +02:00
versionNotification.test.ts fix: restore broken tests after prerelease workflow refactor 2026-04-12 17:19:24 +02:00
weatherService.test.ts fix tests for sidebar/settings refactor + weather archive fallback 2026-04-18 11:45:19 +02:00