Skip to content

feat: streamline clinic registration intake#1184

Merged
SebastianSchuetze merged 1 commit into
mainfrom
feature/clinic-registration-intake
May 26, 2026
Merged

feat: streamline clinic registration intake#1184
SebastianSchuetze merged 1 commit into
mainfrom
feature/clinic-registration-intake

Conversation

@SebastianSchuetze
Copy link
Copy Markdown
Contributor

@SebastianSchuetze SebastianSchuetze commented May 26, 2026

Clinic registration now captures a leaner first-step lead while preserving the existing clinicApplications intake model.

What changed

  • Add a required Website or public profile field to /register/clinic and remove Additional Notes from the public first-step form.
  • Keep phone optional and avoid first-step language/treatment specialty fields.
  • Validate and normalize websiteOrPublicProfile in the clinic registration API.
  • Store websiteOrPublicProfile and system-set privacyNotice metadata in clinicApplications.
  • Keep additionalNotes in the collection for compatibility, but stop sending it from the public form.
  • Update Payload schema/types, migration, Storybook coverage, unit/integration tests, and public smoke coverage.

Validation

  • rtk bash -lc 'PAYLOAD_SECRET=${PAYLOAD_SECRET:-${PAYLOAD_SECRET_KEY:-dev-secret}} pnpm generate'
  • rtk pnpm format
  • rtk pnpm tests --project=unit tests/unit/components/clinicRegistrationForm.test.tsx tests/unit/api/registerClinic.route.test.ts
  • rtk pnpm tests --project=integration tests/integration/clinicApplications.approval.test.ts
  • rtk pnpm tests --project=storybook src/stories/organisms/Auth/ClinicRegistrationForm.stories.tsx
  • rtk pnpm stories:governance:check
  • rtk bash -lc 'PLAYWRIGHT_BASE_URL=http://localhost:3000 pnpm exec playwright test tests/e2e/public/auth.registration.public-smoke.spec.ts --config=playwright.config.ts --project public-smoke --grep "clinic registration"'
  • rtk pnpm check
  • rtk bash -lc 'PAYLOAD_SECRET=${PAYLOAD_SECRET:-${PAYLOAD_SECRET_KEY:-dev-secret}} pnpm build'

Screenshots

  • Local desktop: output/playwright/artifacts/register-clinic-public-profile/register-clinic-clean-desktop.png
  • Local mobile 375px: output/playwright/artifacts/register-clinic-public-profile/register-clinic-clean-375.png

Development

Closes #1183
Refs #1182
Closes findmydoc-platform/management#232

Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot May 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CI generated Payload types differ between the PR base and head commits on the same runner.

Likely cause flags (inferred, not proven):

  • schema/config change: true
  • payload dependency change: false
  • unknown/other: false

The snippet below shows the first 3 hunks / 120 lines of the CI-generated diff. Review whether this generator output is expected, then resolve this conversation.

CI-generated payload type diff snippet
--- generated/base/payload-types.ts
+++ generated/head/payload-types.ts
@@ -2177,6 +2177,10 @@
    */
   contactPhone?: string | null;
   /**
+   * Clinic website or public profile URL
+   */
+  websiteOrPublicProfile?: string | null;
+  /**
    * Clinic address
    */
   address: {
@@ -2229,6 +2233,13 @@
     ip?: string | null;
     userAgent?: string | null;
   };
+  /**
+   * Privacy notice shown during submission
+   */
+  privacyNotice?: {
+    acknowledgedAt?: string | null;
+    url?: string | null;
+  };
   updatedAt: string;
   createdAt: string;
 }
@@ -3793,6 +3804,7 @@
   contactLastName?: T;
   contactEmail?: T;
   contactPhone?: T;
+  websiteOrPublicProfile?: T;
   address?:
     | T
     | {

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 26, 2026

Coverage Report for Unit Tests

Status Category Percentage Covered / Total
🔵 Lines 79.88% (🎯 40%) 4864 / 6089
🔵 Statements 78.25% (🎯 40%) 5187 / 6628
🔵 Functions 83.26% (🎯 33%) 1025 / 1231
🔵 Branches 67.08% (🎯 35%) 3453 / 5147
File Coverage
File Stmts Branches Functions Lines Uncovered Lines
Changed Files
src/app/api/auth/register/clinic/route.ts 92% 89.09% 87.5% 93.05% 88, 98, 142, 180, 247-251
src/collections/ClinicApplications.ts 15.38% 0% 25% 15.38% 79-182
Unchanged Files
src/proxy.ts 91.04% 87.5% 81.81% 95.16% 64, 72, 77, 90, 144, 163
src/access/anyone.ts 100% 100% 100% 100%
src/access/authenticated.ts 100% 100% 100% 100%
src/access/authenticatedAndAdmin.ts 100% 100% 100% 100%
src/access/authenticatedOrApprovedClinic.ts 100% 100% 100% 100%
src/access/authenticatedOrPublished.ts 100% 100% 100% 100%
src/access/clinicGallery.ts 95% 83.33% 100% 95% 30
src/access/clinicMediaRead.ts 100% 100% 100% 100%
src/access/fieldAccess.ts 100% 100% 100% 100%
src/access/isClinicBasicUser.ts 100% 100% 100% 100%
src/access/isPatient.ts 100% 100% 100% 100%
src/access/isPlatformBasicUser.ts 100% 100% 100% 100%
src/access/payloadJobs.ts 100% 100% 100% 100%
src/access/scopeFilters.ts 100% 100% 100% 100%
src/access/utils/getClinicAssignment.ts 92.59% 74.07% 100% 95.83% 10, 27
src/access/utils/getDoctorClinic.ts 100% 90% 100% 100%
src/app/(frontend)/listing-comparison/useListingComparisonUrlState.ts 84.61% 71.42% 88.88% 86.95% 44-46, 53, 145, 178-181
src/app/api/auth/login/route.ts 0% 0% 0% 0% 7-86
src/app/api/auth/password/reset/route.ts 95% 75% 50% 100% 22
src/app/api/auth/register/first-admin/route.ts 84.84% 77.27% 100% 84.84% 52, 117-134, 139
src/app/api/auth/register/patient/cleanup/route.ts 91.3% 100% 100% 91.3% 52-53
src/app/api/auth/register/patient/metadata/route.ts 91.66% 93.75% 100% 91.66% 58-59
src/app/api/clinic-contact-requests/route.ts 76.85% 70.27% 88.88% 80.73% 21, 28, 34, 77-78, 83, 109-110, 119, 152-164, 169, 172, 225, 261, 351-358, 363, 438-439
src/app/api/form-bridge/[slug]/route.ts 91.17% 77.14% 100% 97.64% 37, 67, 70, 73, 78, 83, 87, 108, 154
src/app/auth/callback/route.ts 55.55% 25% 100% 55.55% 14-19
src/auth/config/authConfig.ts 100% 100% 100% 100%
src/auth/errors/authFlowError.ts 94.44% 66.66% 100% 93.33% 42
src/auth/strategies/supabaseStrategy.ts 93.33% 75% 100% 93.33% 54-58, 97, 112-116, 120-125
src/auth/types/authTypes.ts 0% 0% 0% 0%
src/auth/utilities/accessValidation.ts 100% 92.85% 100% 100%
src/auth/utilities/emailNormalization.ts 92% 88.23% 100% 91.11% 34, 43, 48, 57
src/auth/utilities/firstAdminCheck.ts 86.95% 74.07% 100% 88.37% 24, 91-100, 127-141
src/auth/utilities/hydrateSessionFromHash.ts 91.66% 90% 100% 100% 10
src/auth/utilities/jwtValidation.ts 94.23% 90.9% 100% 97.87% 21, 46, 137
src/auth/utilities/loginHandler.ts 0% 0% 0% 0% 9-30
src/auth/utilities/registration.ts 22.22% 15.38% 50% 23.07% 47-114, 123-135, 146-149
src/auth/utilities/registrationSubmissions.ts 3.57% 0% 0% 3.7% 16-98
src/auth/utilities/supaBaseClient.ts 0% 100% 0% 0% 4
src/auth/utilities/supaBaseServer.ts 52.38% 66.66% 25% 55% 10, 13, 20-30, 49
src/auth/utilities/supabaseLogger.ts 100% 100% 100% 100%
src/auth/utilities/supabaseProvision.ts 76.08% 61.53% 85.71% 75.55% 80, 103, 107, 197-216
src/auth/utilities/userCreation.ts 94.28% 78.26% 100% 94.28% 147, 164-168
src/auth/utilities/userLookup.ts 76.47% 73.07% 100% 76.47% 58, 82, 88, 120-137, 172-180
src/collections/Accreditation.ts 100% 100% 100% 100%
src/collections/Categories.ts 100% 100% 100% 100%
src/collections/Cities.ts 100% 100% 100% 100%
src/collections/ClinicStaff.ts 81.25% 63.63% 66.66% 84.61% 24, 53-89
src/collections/Clinics.ts 20% 0% 0% 20% 220-262
src/collections/Countries.ts 100% 100% 100% 100%
src/collections/DoctorSpecialties.ts 9.09% 0% 0% 14.28% 46-57
src/collections/DoctorTreatments.ts 7.14% 0% 0% 10% 45-93
src/collections/Doctors.ts 21.42% 0% 0% 27.27% 116-181
src/collections/FavoriteClinics.ts 28.57% 14.28% 50% 25% 32-46
src/collections/MedicalSpecialties.ts 100% 100% 100% 100%
src/collections/PatientClinicInquiries.ts 27.58% 0% 0% 33.33% 46-62, 66-75, 230-232
src/collections/PlatformStaff.ts 75% 100% 66.66% 75% 38-40
src/collections/Reviews.ts 17.85% 5.4% 57.14% 18.51% 38-247
src/collections/Tags.ts 100% 100% 100% 100%
src/collections/Treatments.ts 100% 100% 100% 100%
src/collections/BasicUsers/index.ts 100% 100% 100% 100%
src/collections/BasicUsers/hooks/createSupabaseUser.ts 94.73% 85.71% 100% 93.75% 13
src/collections/BasicUsers/hooks/createUserProfile.ts 100% 85.71% 100% 100%
src/collections/BasicUsers/hooks/deleteSupabaseUser.ts 73.07% 50% 100% 73.07% 45-53, 66-83
src/collections/ClinicGalleryEntries/index.ts 33.33% 0% 0% 33.33% 52-126
src/collections/ClinicGalleryEntries/hooks/beforeChangeClinicGalleryEntry.ts 6.25% 0% 0% 6.25% 13-32, 47-77
src/collections/ClinicGalleryMedia/index.ts 62.5% 0% 0% 62.5% 28-29, 99
src/collections/ClinicMedia/index.ts 75% 0% 0% 75% 75
src/collections/ClinicTreatments/index.ts 50% 0% 0% 50% 55
src/collections/ClinicTreatments/hooks/averagePriceUtils.ts 72.72% 66.66% 100% 76.47% 7, 9, 25, 36-37, 57
src/collections/ClinicTreatments/hooks/updateAveragePriceAfterChange.ts 75% 60% 100% 80% 11, 21-26
src/collections/ClinicTreatments/hooks/updateAveragePriceAfterDelete.ts 81.81% 50% 100% 90% 7, 15
src/collections/DoctorMedia/index.ts 100% 100% 100% 100%
src/collections/DoctorMedia/hooks/beforeChangeDoctorMedia.ts 89.28% 72.97% 100% 89.28% 17, 22, 45
src/collections/MedicalSpecialties/hooks/enforceTwoLevelHierarchy.ts 100% 92% 100% 100%
src/collections/Pages/index.ts 66.66% 0% 71.42% 66.66% 45-59
src/collections/Pages/legalPages.ts 3.57% 0% 0% 3.57% 23-289, 296-299, 307-342, 346-353
src/collections/Pages/hooks/populatePublishedAt.ts 20% 0% 0% 20% 4-12
src/collections/Pages/hooks/revalidatePage.ts 100% 81.25% 100% 100%
src/collections/Patients/index.ts 100% 100% 100% 100%
src/collections/Patients/hooks/patientSupabaseCreate.ts 81.81% 68.75% 100% 80% 22, 60-69
src/collections/Patients/hooks/patientSupabaseDelete.ts 78.57% 66.66% 100% 84.61% 8, 16-18
src/collections/PlatformContentMedia/index.ts 100% 100% 100% 100%
src/collections/PlatformContentMedia/hooks/beforeChangePlatformContentMedia.ts 100% 83.33% 100% 100%
src/collections/Posts/index.ts 46.66% 0% 54.54% 46.66% 55-69, 156-248
src/collections/Posts/hooks/populateAuthors.ts 89.47% 81.08% 100% 100% 25, 37, 72, 84
src/collections/Posts/hooks/revalidatePost.ts 100% 100% 100% 100%
src/collections/UserProfileMedia/index.ts 69.38% 60.95% 90.9% 77.33% 25, 29, 37, 43-50, 56, 79, 80, 88-92, 154, 158, 159, 162, 206-214
src/collections/common/mediaCollection.ts 75% 97.22% 66.66% 75% 114, 144-145
src/collections/common/mediaPathHelpers.ts 71.11% 73.49% 100% 75% 28, 38-61, 89, 94, 111, 116, 133, 139, 147
src/collections/common/selectionOptions.ts 100% 100% 100% 100%
src/collections/common/stableIdField.ts 50% 0% 50% 40% 28-31
src/dashboard/adminDashboard/config.ts 100% 100% 100% 100%
src/dashboard/adminDashboard/index.ts 0% 0% 0% 0%
src/endpoints/seed/index.ts 0% 0% 0% 0%
src/endpoints/seed/seedEndpoint.ts 74.5% 56.64% 95% 75.12% 36, 44-64, 74, 81-82, 220-223, 236, 241, 245, 258, 264, 268, 315, 318, 335, 339, 352-367, 383, 402-403, 413, 431, 439, 444-446, 458-460, 478, 502-504, 509
src/endpoints/seed/types.ts 0% 0% 0% 0%
src/endpoints/seed/baseline/index.ts 0% 0% 0% 0%
src/endpoints/seed/baseline/run-baseline.ts 0% 0% 0% 0% 26-113
src/endpoints/seed/data/baseline/accreditations.json 0% 0% 0% 0%
src/endpoints/seed/data/baseline/basicUsers.json 0% 0% 0% 0%
src/endpoints/seed/data/baseline/categories.json 0% 0% 0% 0%
src/endpoints/seed/data/baseline/cities.json 0% 0% 0% 0%
src/endpoints/seed/data/baseline/countries.json 0% 0% 0% 0%
src/endpoints/seed/data/baseline/globals.json 0% 0% 0% 0%
src/endpoints/seed/data/baseline/medicalSpecialties.json 0% 0% 0% 0%
src/endpoints/seed/data/baseline/platformContentMedia.json 0% 0% 0% 0%
src/endpoints/seed/data/baseline/tags.json 0% 0% 0% 0%
src/endpoints/seed/data/baseline/treatments.json 0% 0% 0% 0%
src/endpoints/seed/data/demo/basicUsers.json 0% 0% 0% 0%
src/endpoints/seed/data/demo/clinicMedia.json 0% 0% 0% 0%
src/endpoints/seed/data/demo/clinicTreatments.json 0% 0% 0% 0%
src/endpoints/seed/data/demo/clinics.json 0% 0% 0% 0%
src/endpoints/seed/data/demo/doctorSpecialties.json 0% 0% 0% 0%
src/endpoints/seed/data/demo/doctorTreatments.json 0% 0% 0% 0%
src/endpoints/seed/data/demo/doctors.json 0% 0% 0% 0%
src/endpoints/seed/data/demo/favoriteClinics.json 0% 0% 0% 0%
src/endpoints/seed/data/demo/platformContentMedia.json 0% 0% 0% 0%
src/endpoints/seed/data/demo/posts.json 0% 0% 0% 0%
src/endpoints/seed/data/demo/reviews.json 0% 0% 0% 0%
src/endpoints/seed/data/demo/userProfileMedia.json 0% 0% 0% 0%
src/endpoints/seed/demo/index.ts 0% 0% 0% 0%
src/endpoints/seed/demo/run-demo.ts 60% 33.33% 28.57% 61.76% 28, 35, 37-42, 45, 47-68, 100, 105-114, 134-135, 146-147
src/endpoints/seed/globals/globals-seed.ts 100% 100% 100% 100%
src/endpoints/seed/tasks/seedChunkTask.ts 37.27% 17.64% 50% 37.27% 25-42, 53-67, 89-109, 115, 132, 154-194, 198-282, 290-339, 362, 365, 390, 394-399, 410-428, 447-460
src/endpoints/seed/utils/cookie-consent.ts 54.54% 41.3% 100% 54.76% 16, 25, 29, 33-64, 90-94, 106
src/endpoints/seed/utils/import-collection.ts 75.97% 67.92% 90.9% 76.92% 38, 57, 59, 69, 81, 93, 118, 169, 206, 233-235, 240-258, 268-269, 278-280, 313, 318-326, 342, 347-348, 361-362
src/endpoints/seed/utils/import-globals.ts 68.96% 70% 50% 71.42% 24, 28-29, 34-35, 40-41, 63-64
src/endpoints/seed/utils/job-types.ts 0% 0% 0% 0%
src/endpoints/seed/utils/labels.ts 96.15% 88.23% 100% 95.83% 11
src/endpoints/seed/utils/landing-pages.ts 92.3% 76.92% 100% 92.1% 17, 25, 43
src/endpoints/seed/utils/load-json.ts 96.49% 85.71% 100% 96.42% 90, 110
src/endpoints/seed/utils/plan.ts 100% 100% 100% 100%
src/endpoints/seed/utils/planner.ts 94.02% 85.71% 100% 95.23% 41-45, 50, 94
src/endpoints/seed/utils/reset.ts 82.92% 77.27% 100% 83.78% 52, 73-90, 103
src/endpoints/seed/utils/resolvers.ts 73.33% 58.82% 85.71% 73.33% 72, 94-102, 119-131
src/endpoints/seed/utils/runtime.ts 86.36% 83.33% 80% 85.71% 23, 27, 34
src/endpoints/seed/utils/state.ts 87.62% 64.04% 90% 90.96% 136, 162, 201, 206, 212, 262, 285, 300, 303, 323, 357, 365, 368-369, 379, 403-411, 456-460, 465-467
src/endpoints/seed/utils/summary.ts 27.27% 100% 25% 27.27% 23-27, 57-72
src/endpoints/seed/utils/transform-export-to-seed.ts 0% 0% 0% 0% 16-68
src/endpoints/seed/utils/upsert.ts 80.72% 64.28% 92.85% 83.33% 45-46, 51, 59, 64, 80, 86-89, 93, 98-101, 127, 131-132, 135, 153, 157, 190, 221, 254, 258, 265-266, 283-284, 347, 412, 451, 461, 489
src/features/cookieConsent/categories.ts 90.19% 75% 87.5% 89.79% 130-131, 140, 193-201
src/features/cookieConsent/constants.ts 100% 100% 100% 100%
src/features/cookieConsent/context.ts 75% 50% 100% 75% 25-28
src/features/cookieConsent/cookie.ts 79.06% 75% 92.3% 91.42% 18, 33, 50, 60, 86, 97, 108, 125
src/features/cookieConsent/index.ts 0% 0% 0% 0%
src/features/cookieConsent/normalizeGlobal.ts 94.73% 78.26% 100% 94.73% 78
src/features/cookieConsent/toolConsent.ts 86.36% 73.68% 100% 84.21% 31, 38, 65
src/features/cookieConsent/types.ts 0% 0% 0% 0%
src/features/cookieConsent/useCookieConsentToolAllowed.ts 66.66% 50% 66.66% 75% 12, 30
src/features/favorites/FavoriteClinicButton.tsx 86.25% 76.08% 80% 92.75% 61-62, 73, 81-83, 98, 100, 119, 137, 190
src/features/favorites/FavoriteClinicsList.client.tsx 100% 86.95% 100% 100%
src/features/favorites/redirects.ts 40% 100% 0% 40% 7-14
src/features/favorites/server.ts 0% 0% 0% 0% 10-209
src/features/previewGuard/index.ts 93.1% 76.47% 100% 100% 16, 17
src/features/runtimePolicy/index.ts 92.3% 86.66% 100% 93.75% 50-51
src/features/searchIndexing/index.ts 100% 75% 100% 100%
src/features/searchIndexing/sitemapGuards.ts 100% 100% 100% 100%
src/features/temporaryLandingMode/content.ts 100% 100% 100% 100%
src/features/temporaryLandingMode/i18n.ts 95.34% 76.92% 100% 95.12% 31, 57
src/features/temporaryLandingMode/index.ts 100% 91.66% 100% 100%
src/hooks/clinicOwnership.ts 97.43% 85.71% 100% 97.36% 64
src/hooks/createdBy.ts 100% 84.61% 100% 100%
src/hooks/ensurePatientOnAuth.ts 90.9% 60.86% 100% 90.9% 30-33, 81
src/hooks/immutability.ts 100% 95% 100% 100%
src/hooks/ownership.ts 90% 80.64% 100% 94.44% 15, 19
src/hooks/publishedAt.ts 100% 85.71% 100% 100%
src/hooks/revalidateRedirects.ts 100% 100% 100% 100%
src/hooks/calculations/updateAverageRatings.ts 89.47% 68.62% 100% 89.04% 18, 135-136, 152, 162, 185-189
src/hooks/media/computeStorage.ts 96.55% 80.72% 100% 98.11% 144, 147
src/hooks/media/uploadLogging.ts 84.33% 58.02% 90.9% 91.89% 31, 42, 48, 64, 83-84, 89, 97, 102, 118, 124-127, 138
src/plugins/index.ts 74.35% 70.58% 50% 77.77% 28, 32-34, 62-65, 135-141, 202
src/plugins/mcp.ts 52.63% 0% 60% 55.55% 101-113
src/plugins/storageConfig.ts 100% 100% 100% 100%
src/posthog/analytics.ts 0% 100% 0% 0% 4-12
src/posthog/api.ts 85.71% 73.8% 80.64% 87.38% 114-119, 126, 127, 209-210, 321-338, 352, 374-381, 421-428, 440-443, 450-453, 492
src/posthog/client-api.ts 25% 0% 25% 25% 19-32
src/posthog/client-only.ts 0% 0% 0% 0%
src/posthog/client.ts 74% 73.33% 87.5% 74% 21, 30-31, 63-64, 70-72, 90, 96, 130-131, 141
src/posthog/events.ts 100% 100% 100% 100%
src/posthog/flag-definition-cache.ts 89.28% 100% 90% 88.46% 52-59, 76-82
src/posthog/identify.ts 100% 100% 100% 100%
src/posthog/index.ts 0% 0% 0% 0%
src/posthog/server.ts 75% 64.86% 69.23% 77.27% 41, 107-112, 119, 122-129, 141-146, 191, 196-197, 203-209
src/posthog/serverConsent.ts 15.78% 0% 0% 18.75% 22-30, 39-62
src/posthog/telemetry.ts 76% 62.79% 100% 85.71% 14, 17, 20, 25, 27, 31, 37-39, 44, 56, 67
src/search/beforeSync.ts 28.84% 14.58% 40% 28% 8-18, 76-148
src/search/fieldOverrides.ts 100% 100% 100% 100%
src/utilities/buildSearchWhere.ts 96.15% 87.5% 100% 96% 106
src/utilities/canUseDOM.ts 0% 0% 0% 0%
src/utilities/contentLocalization.ts 86.84% 85.71% 100% 86.84% 78-86
src/utilities/deepMerge.ts 90% 90.9% 100% 90% 24
src/utilities/formatAuthors.ts 100% 100% 100% 100%
src/utilities/formatDateTime.ts 100% 100% 100% 100%
src/utilities/generateMeta.ts 100% 90.9% 100% 100%
src/utilities/generatePreviewPath.ts 100% 100% 100% 100%
src/utilities/getDocument.ts 100% 100% 100% 100%
src/utilities/getForm.ts 100% 87.5% 100% 100%
src/utilities/getGlobals.ts 100% 100% 100% 100%
src/utilities/getMediaUrl.ts 100% 100% 100% 100%
src/utilities/getRedirects.ts 100% 100% 100% 100%
src/utilities/getURL.ts 85.71% 83.33% 100% 84.61% 56-60
src/utilities/legalPages.ts 66.66% 33.33% 60% 75% 48-49
src/utilities/mapPostToCardData.ts 100% 81.25% 100% 100%
src/utilities/mergeOpenGraph.ts 100% 100% 100% 100%
src/utilities/nameUtils.ts 100% 100% 100% 100%
src/utilities/nextDevOrigins.js 86.2% 83.87% 100% 88% 5, 11-12, 20
src/utilities/normalizeNavItems.ts 94.91% 89.39% 100% 100% 97, 132, 166
src/utilities/openStreetMap.ts 100% 100% 100% 100%
src/utilities/requestFileUtils.ts 100% 85% 100% 100%
src/utilities/slugify.ts 100% 100% 100% 100%
src/utilities/socialPreview.ts 100% 96% 100% 100%
src/utilities/submitForm.ts 100% 90.9% 100% 100%
src/utilities/ui.ts 100% 100% 100% 100%
src/utilities/urlParts.ts 100% 100% 100% 100%
src/utilities/use-prefers-reduced-motion.ts 77.77% 62.5% 80% 100% 4, 5, 14, 17
src/utilities/useClickableCard.ts 91.42% 68% 100% 91.42% 78, 92-93
src/utilities/useDebounce.ts 0% 0% 0% 0% 18-30
src/utilities/blog/calculateReadTime.ts 76% 85% 100% 75% 15, 34, 45-50
src/utilities/blog/formatDate.ts 0% 0% 0% 0% 7-17
src/utilities/blog/normalizePost.ts 57.14% 38.7% 100% 57.14% 56-62, 69-71
src/utilities/blog/sharePostUrl.ts 82.43% 78.43% 72.72% 85.48% 26-48, 100, 104, 131-132, 156
src/utilities/clinicDetail/serverData/getClinicDetailServerData.ts 76.19% 41.86% 100% 72.97% 22-32, 45, 57, 80
src/utilities/clinicDetail/serverData/index.ts 0% 0% 0% 0%
src/utilities/clinicDetail/serverData/mappers.ts 87.16% 68.06% 100% 92.59% 56-57, 65, 74, 100, 109, 136, 145, 150, 157, 161, 172-173, 239, 242, 304, 339-340, 367
src/utilities/clinicDetail/serverData/repositories.ts 87.62% 59.45% 100% 89.53% 23, 36-46, 58, 82, 266, 362
src/utilities/clinicDetail/serverData/types.ts 0% 0% 0% 0%
src/utilities/content/postPaths.ts 100% 100% 100% 100%
src/utilities/content/serverData/index.ts 0% 0% 0% 0%
src/utilities/content/serverData/pages.ts 100% 90% 100% 100%
src/utilities/content/serverData/posts.ts 79.24% 62.5% 100% 79.59% 130-132, 150, 173-176, 185-189, 291
src/utilities/content/serverData/shared.ts 100% 88.88% 100% 100%
src/utilities/landing/landingPageContent.ts 96.61% 60.82% 95.65% 96.42% 733-735
src/utilities/landing/medicalSpecialtyCategories.ts 93.33% 80.39% 94.11% 93.75% 54-55, 82, 192-208
src/utilities/landing/safeLandingHref.ts 80% 69.44% 88.88% 82.14% 30-32, 43, 55-58
src/utilities/listingComparison/priceRange.ts 100% 84.61% 100% 100%
src/utilities/listingComparison/queryState.ts 98.78% 95.45% 100% 98.64% 67
src/utilities/listingComparison/sort.ts 96% 78.26% 100% 95.83% 70
src/utilities/listingComparison/serverData/facets.ts 86.31% 80% 96.29% 88.09% 29, 37-45, 69, 143-144, 191, 217-225
src/utilities/listingComparison/serverData/getListingComparisonServerData.ts 93.04% 82.14% 93.33% 94.84% 58, 73-75, 177, 197, 213
src/utilities/listingComparison/serverData/index.ts 0% 0% 0% 0%
src/utilities/listingComparison/serverData/presentation.ts 90.19% 72.36% 100% 93.47% 26, 34, 41, 47, 130
src/utilities/listingComparison/serverData/pricing.ts 71.42% 62.26% 100% 77.5% 15, 67-68, 74-84
src/utilities/listingComparison/serverData/relations.ts 81.25% 73.33% 100% 85.71% 2, 18-19
src/utilities/listingComparison/serverData/repositories.ts 93.75% 70% 100% 97.72% 22, 141, 225
src/utilities/listingComparison/serverData/specialtyScope.ts 91.66% 79.16% 93.75% 98.07% 22, 55, 82, 100, 104
src/utilities/listingComparison/serverData/types.ts 0% 0% 0% 0%
src/utilities/logging/consoleLogger.ts 100% 100% 100% 100%
src/utilities/logging/payloadLogger.ts 100% 100% 100% 100%
src/utilities/logging/serverLogger.ts 100% 50% 100% 100%
src/utilities/logging/shared.ts 80% 76.82% 76.66% 79.41% 84, 119, 152-153, 157-158, 166-171, 179, 184, 199, 202-208, 224-225, 229
src/utilities/media/relationMedia.ts 34.84% 42.25% 37.5% 32.72% 40, 45-69, 80, 97-178
src/utilities/media/resolveMediaImage.ts 87.5% 85.29% 100% 92.85% 95, 106, 135, 160
src/utilities/placeholders/avatar.ts 100% 100% 100% 100%
src/utilities/placeholders/listingComparison.ts 0% 100% 100% 0% 8-100
src/utilities/routing/sanitizeInternalRedirectPath.ts 92% 92.59% 100% 94.73% 32, 45
Generated in workflow #2677 for commit 3f5aa97 by the Vitest Coverage Report Action

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 26, 2026

Coverage Report for Storybook Tests

Status Category Percentage Covered / Total
🔵 Lines 72.93% (🎯 10%) 2503 / 3432
🔵 Statements 71.07% (🎯 10%) 2688 / 3782
🔵 Functions 77.02% (🎯 10%) 714 / 927
🔵 Branches 60.91% (🎯 10%) 1808 / 2968
File Coverage
File Stmts Branches Functions Lines Uncovered Lines
Changed Files
src/components/organisms/Auth/ClinicRegistrationForm.tsx 80.55% 67.16% 100% 80.28% 36, 45, 50, 94, 113-114, 118-121, 125-128
Unchanged Files
src/components/atoms/accordion.tsx 100% 100% 100% 100%
src/components/atoms/alert.tsx 100% 80% 100% 100%
src/components/atoms/avatar.tsx 100% 80% 100% 100%
src/components/atoms/button.tsx 100% 87.5% 100% 100%
src/components/atoms/card.tsx 100% 80% 100% 100%
src/components/atoms/carousel.tsx 76.62% 51.06% 93.33% 76.62% 36, 56, 72-86, 96, 185, 226
src/components/atoms/checkbox.tsx 100% 100% 100% 100%
src/components/atoms/combobox.tsx 100% 92.3% 100% 100%
src/components/atoms/command.tsx 96.55% 100% 90.9% 100% 54
src/components/atoms/dialog.tsx 100% 100% 100% 100%
src/components/atoms/dropdown-menu.tsx 80.76% 58.33% 50% 94.44% 19-37, 40-52, 91-111, 114-133, 160-161
src/components/atoms/input.tsx 100% 80% 100% 100%
src/components/atoms/label.tsx 100% 100% 100% 100%
src/components/atoms/pagination.tsx 100% 100% 100% 100%
src/components/atoms/popover.tsx 100% 100% 100% 100%
src/components/atoms/select.tsx 100% 100% 100% 100%
src/components/atoms/separator.tsx 100% 100% 100% 100%
src/components/atoms/slider.tsx 94.73% 54.16% 80% 94.44% 61
src/components/atoms/tabs.tsx 100% 100% 100% 100%
src/components/atoms/textarea.tsx 100% 100% 100% 100%
src/components/atoms/verification-badge.tsx 100% 71.42% 100% 100%
src/components/atoms/FallbackImage/index.tsx 100% 88.88% 100% 100%
src/components/atoms/Heading/index.tsx 100% 87.5% 100% 100%
src/components/atoms/PreviewBadge/index.tsx 100% 100% 100% 100%
src/components/molecules/Breadcrumb/index.tsx 100% 100% 100% 100%
src/components/molecules/CheckboxGroup/index.tsx 90% 70% 100% 100% 37
src/components/molecules/CheckboxWithLabel/index.tsx 63.63% 50% 75% 77.77% 28, 33-34
src/components/molecules/ClinicDetail/DoctorPreviewListItem.tsx 100% 100% 100% 100%
src/components/molecules/ClinicDetail/HeroQualitySummary.tsx 100% 76.47% 100% 100%
src/components/molecules/ClinicDetail/index.ts 0% 0% 0% 0%
src/components/molecules/ClinicSearchBar/index.tsx 42.85% 100% 33.33% 42.85% 38, 57-106
src/components/molecules/Container/index.tsx 100% 66.66% 100% 100%
src/components/molecules/ImmersiveVideoHero/index.tsx 27.77% 43.33% 28.57% 31.25% 111-160, 353-363
src/components/molecules/ImmersiveVideoHero/logic.ts 78.16% 72.09% 84% 80.95% 11, 24, 40, 99-100, 107, 116, 129, 161, 165, 169, 175-176, 184-209, 230, 235
src/components/molecules/LanguageSwitcher/index.tsx 0% 0% 0% 0% 24-37
src/components/molecules/Link/index.tsx 90% 90% 100% 100% 32
src/components/molecules/LocationLine/index.tsx 100% 85.71% 100% 100%
src/components/molecules/Logo/Logo.tsx 100% 100% 100% 100%
src/components/molecules/Media/index.tsx 100% 100% 100% 100%
src/components/molecules/Media/types.ts 0% 0% 0% 0%
src/components/molecules/Media/ImageMedia/index.tsx 100% 94.44% 100% 100%
src/components/molecules/Media/VideoMedia/index.tsx 90.9% 66.66% 100% 100% 22
src/components/molecules/PageRange/index.tsx 85.71% 80.76% 100% 100% 32, 35
src/components/molecules/Pagination/index.tsx 66.66% 50% 37.5% 73.68% 28, 32, 49-89
src/components/molecules/PostActionBar/index.tsx 100% 60% 100% 100%
src/components/molecules/PriceSummary/index.tsx 75% 50% 100% 100% 19
src/components/molecules/RatingFilter/index.tsx 90.9% 83.33% 100% 90.9% 30
src/components/molecules/RatingSummary/index.tsx 100% 100% 100% 100%
src/components/molecules/ScrollReveal/index.tsx 90.9% 60.86% 90% 98% 36, 39, 57, 69, 121
src/components/molecules/SectionBackground/SectionBackgroundParallax.client.tsx 87.5% 74.07% 87.5% 90.56% 40, 52-53, 65, 91-96, 123-124
src/components/molecules/SectionBackground/index.tsx 26.56% 34.37% 100% 24.19% 53-59, 65-152
src/components/molecules/SectionHeading/index.tsx 100% 83.33% 100% 100%
src/components/molecules/SocialLink/index.tsx 100% 90% 100% 100%
src/components/molecules/SortControl/index.tsx 100% 80% 100% 100%
src/components/molecules/TagList/index.tsx 100% 100% 100% 100%
src/components/molecules/WaitTime/index.tsx 100% 100% 100% 100%
src/components/organisms/AdminBar/index.tsx 81.25% 50% 50% 81.25% 69-71
src/components/organisms/AdminBranding/AdminAccountAvatar.tsx 0% 0% 0% 0% 5-168
src/components/organisms/AdminBranding/AdminLoginLogo.tsx 0% 100% 0% 0% 5-24
src/components/organisms/AdminBranding/AdminNavIcon.tsx 0% 100% 0% 0% 5-20
src/components/organisms/AdminBranding/AdminThemeProvider.tsx 0% 100% 0% 0% 7-72
src/components/organisms/AdminBranding/index.ts 0% 0% 0% 0%
src/components/organisms/Auth/FirstAdminRegistrationForm.tsx 100% 100% 100% 100%
src/components/organisms/Auth/LoginForm.tsx 86.15% 66.66% 88.23% 88.33% 35, 82-84, 97-100, 155-165
src/components/organisms/Auth/PatientRegistrationForm.tsx 100% 100% 100% 100%
src/components/organisms/Auth/RegistrationForm.tsx 100% 90.47% 100% 100%
src/components/organisms/Auth/types/loginTypes.ts 0% 0% 0% 0%
src/components/organisms/Banner/index.tsx 100% 100% 100% 100%
src/components/organisms/Blog/BlogCard/Enhanced.tsx 100% 89.18% 100% 100%
src/components/organisms/Blog/BlogCard/Overlay.tsx 100% 82.35% 100% 100%
src/components/organisms/Blog/BlogCard/Overview.tsx 100% 90% 100% 100%
src/components/organisms/Blog/BlogCard/Simple.tsx 100% 72.22% 100% 100%
src/components/organisms/Blog/BlogCard/index.tsx 100% 100% 100% 100%
src/components/organisms/Blog/BlogCardCollection/index.tsx 100% 91.3% 100% 100%
src/components/organisms/Blog/BlogHero/index.tsx 100% 100% 100% 100%
src/components/organisms/CallToAction/index.tsx 100% 92.3% 100% 100%
src/components/organisms/ClinicDetail/BeforeAfterCaseGallerySection.tsx 54.05% 39.62% 73.91% 54.41% 113-117, 124-127, 134-135, 141-145, 151-171, 217, 285-292
src/components/organisms/ClinicDetail/ClinicAppointmentSection.tsx 97.29% 96% 100% 100% 94
src/components/organisms/ClinicDetail/ClinicLocationSection.tsx 79.54% 80.28% 80% 83.33% 111-114, 132, 141, 146-148, 183, 209
src/components/organisms/ClinicDetail/FurtherTreatmentsSection.tsx 100% 76.92% 100% 100%
src/components/organisms/ClinicDetail/HeroOverviewSection.tsx 100% 100% 100% 100%
src/components/organisms/ClinicDetail/index.ts 0% 0% 0% 0%
src/components/organisms/ClinicDetail/types.ts 0% 0% 0% 0%
src/components/organisms/CollectionArchive/index.tsx 83.33% 70% 100% 83.33% 44
src/components/organisms/Contact/ContactRequestForm.client.tsx 88.23% 69.84% 85.71% 88.88% 47-57, 68, 72, 123-124, 173-174
src/components/organisms/Contact/PublicContactSection.tsx 100% 87.5% 100% 100%
src/components/organisms/Contact/contactRequestForm.shared.ts 100% 100% 100% 100%
src/components/organisms/Contact/index.ts 0% 0% 0% 0%
src/components/organisms/Content/index.tsx 100% 88.46% 100% 100%
src/components/organisms/CookieConsent/CookieConsentBanner.client.tsx 100% 50% 100% 100%
src/components/organisms/CookieConsent/CookieConsentDialog.client.tsx 100% 66.66% 100% 100%
src/components/organisms/CookieConsent/CookieConsentLauncher.client.tsx 100% 66.66% 100% 100%
src/components/organisms/CookieConsent/CookieConsentManager.client.tsx 40% 37.5% 16.66% 40% 26, 35-64
src/components/organisms/CookieConsent/useCookieConsentController.ts 78.12% 63.15% 92.3% 75% 62-76
src/components/organisms/DeveloperDashboard/index.tsx 27.77% 7.14% 25% 33.33% 19, 23-29, 72-75
src/components/organisms/DeveloperDashboard/Seeding/SeedingCard.tsx 5.01% 0% 0% 5.32% 29-42, 46, 50, 54, 65-102, 112-117, 122-140, 145-165, 169-179, 184-188, 193-198, 206-573
src/components/organisms/DeveloperDashboard/Seeding/SeedingCardView.tsx 82.89% 75.97% 81.81% 89.16% 45-56, 63-65, 69-85, 126, 127, 129, 135, 136, 148, 150, 155, 164, 655
src/components/organisms/DeveloperDashboard/Seeding/seedJobSummaries.ts 86.45% 78.04% 96.55% 90.14% 24, 27-29, 48, 51, 53, 65, 73, 81
src/components/organisms/Doctors/DoctorCard.tsx 100% 64.1% 100% 100%
src/components/organisms/Doctors/RelatedDoctorSection.client.tsx 86.66% 70% 90.9% 92.59% 23, 50, 67, 73
src/components/organisms/Doctors/RelatedDoctorSection.tsx 100% 100% 100% 100%
src/components/organisms/Doctors/index.ts 0% 0% 0% 0%
src/components/organisms/Doctors/types.ts 0% 0% 0% 0%
src/components/organisms/FAQ/index.tsx 100% 100% 100% 100%
src/components/organisms/Form/index.tsx 92.85% 75% 100% 92.85% 112
src/components/organisms/Heroes/FeatureHero/index.tsx 100% 92.85% 100% 100%
src/components/organisms/Heroes/LandingHero/LandingHeroSearchBar.client.tsx 25% 0% 50% 25% 34-46
src/components/organisms/Heroes/LandingHero/index.tsx 100% 84.61% 100% 100%
src/components/organisms/Heroes/PostHero/index.tsx 100% 92.85% 100% 100%
src/components/organisms/Landing/LandingCategories.shared.ts 97.56% 66.66% 100% 100% 109
src/components/organisms/Landing/LandingCategories.tsx 100% 55.55% 100% 100%
src/components/organisms/Landing/LandingCategoriesShell.tsx 94.73% 82.05% 100% 96.87% 61, 72, 98, 106
src/components/organisms/Landing/LandingFeatures.tsx 100% 76% 100% 100%
src/components/organisms/Landing/LandingPricing.tsx 100% 64.7% 100% 100%
src/components/organisms/Landing/LandingProcess.tsx 90.62% 63.33% 95.83% 95.65% 200, 205, 211-212, 228-229, 368, 394, 403, 430, 435, 440, 454, 475-478, 501, 523
src/components/organisms/Landing/LandingProcessRing.tsx 81.91% 63.33% 86.2% 84.06% 367-368, 378-379, 385, 436-437, 445-446, 460-463, 469, 471, 554-555, 596-601, 623-624, 628, 650, 656-657, 668-670, 676-678, 688-689, 696-709, 801, 804, 823-824, 828-834, 839, 861-865, 872-876, 883-887, 897-903, 943, 985, 991, 994-995, 1158
src/components/organisms/Landing/LandingTeam.tsx 88.88% 80% 100% 100% 68
src/components/organisms/Landing/LandingTestimonials.tsx 100% 100% 100% 100%
src/components/organisms/Landing/LandingTestimonials.types.ts 0% 0% 0% 0%
src/components/organisms/Landing/LandingTestimonialsCarousel.tsx 75.94% 61.11% 96.15% 85.07% 51, 75, 94, 130, 135, 149, 151, 160, 188, 212, 214, 215, 222-223, 230, 231, 237, 242-249, 254, 259-261, 267-275, 279, 412
src/components/organisms/Landing/index.ts 0% 0% 0% 0%
src/components/organisms/Listing/ListingCard.tsx 100% 70% 100% 100%
src/components/organisms/Listing/ListingFilters.tsx 80.88% 57.44% 86.66% 80.64% 41, 98, 105, 123-133, 142, 186, 198-201
src/components/organisms/Listing/index.ts 0% 0% 0% 0%
src/components/organisms/LivePreviewListener/index.tsx 100% 100% 100% 100%
src/components/organisms/MediaBlock/index.tsx 100% 100% 100% 100%
src/components/organisms/MedicalSpecialtiesAdminGuidance/index.tsx 0% 100% 0% 0% 3-20
src/components/organisms/TreatmentsStrip/index.tsx 100% 100% 100% 100%
src/components/organisms/TrustQualitySection/AnimatedCountUp.tsx 69.23% 63.15% 81.81% 72% 51, 58-60, 64-66, 70, 80-82, 93-94, 100-102
src/components/organisms/TrustQualitySection/index.tsx 100% 85% 100% 100%
src/components/shared/media/imagePlaceholderBlur.ts 100% 100% 100% 100%
src/components/templates/ClinicDetailConcepts/ClinicDetail.tsx 80.35% 78.94% 66.66% 79.16% 94, 109-121, 127-134, 140-147, 153-159, 177, 211-217
src/components/templates/ClinicDetailConcepts/index.ts 0% 0% 0% 0%
src/components/templates/ClinicDetailConcepts/shared.tsx 18.57% 16.47% 19.35% 20.33% 47, 64-540
src/components/templates/ClinicDetailConcepts/types.ts 0% 0% 0% 0%
src/components/templates/ClinicDetailConcepts/hooks/clinicDetailInteraction.logic.ts 22.22% 10% 33.33% 12.5% 9-29
src/components/templates/ClinicDetailConcepts/hooks/useClinicDetailInteractionState.ts 35.54% 14.28% 33.33% 35.94% 65-84, 133, 142, 151, 159-164, 169, 174-180, 186, 191-202, 210-220, 227-238, 246-290, 298-307, 314-320, 326-331
src/components/templates/Footer/Component.tsx 100% 61.53% 100% 100%
src/components/templates/Header/Component.tsx 100% 100% 100% 100%
src/components/templates/Header/PublicAccountMenu.tsx 96.66% 85% 100% 100% 91
src/components/templates/Header/Nav/index.tsx 75.32% 60.86% 72.72% 76.47% 27-29, 36-39, 61, 149-151, 185, 197-198, 202-203, 228-231, 259-261
src/components/templates/Header/Nav/useMobileMenuState.ts 72.72% 55% 66.66% 71.05% 17-18, 21-22, 25-29, 41-42, 61-63, 71, 75-76
src/components/templates/HoldingPageConcept/index.tsx 42.3% 39.78% 43.47% 42.3% 120-345, 587-1319, 1458
src/components/templates/ListingComparison/Component.tsx 100% 80% 100% 100%
src/components/templates/ListingComparison/ListingFiltersJumpBar.client.tsx 95.23% 75% 100% 97.56% 28, 88
src/components/templates/TemporaryLandingPage/index.tsx 0% 100% 0% 0% 15-25
Generated in workflow #2677 for commit 3f5aa97 by the Vitest Coverage Report Action

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 26, 2026

Coverage Report for Integration Tests

Status Category Percentage Covered / Total
🔵 Lines 85.13% (🎯 50%) 836 / 982
🔵 Statements 81.5% (🎯 50%) 877 / 1076
🔵 Functions 97.17% (🎯 50%) 172 / 177
🔵 Branches 72.22% (🎯 50%) 684 / 947
File Coverage
File Stmts Branches Functions Lines Uncovered Lines
Changed Files
src/collections/ClinicApplications.ts 84.61% 90.9% 100% 84.61% 87-90
Unchanged Files
src/access/clinicGallery.ts 100% 100% 100% 100%
src/access/clinicMediaRead.ts 100% 100% 100% 100%
src/access/scopeFilters.ts 86.79% 81.39% 88.88% 88.46% 22, 78, 104, 111-117, 127
src/collections/Accreditation.ts 100% 100% 100% 100%
src/collections/Categories.ts 100% 100% 100% 100%
src/collections/Cities.ts 100% 100% 100% 100%
src/collections/ClinicStaff.ts 87.5% 81.81% 100% 92.3% 24, 31
src/collections/Clinics.ts 100% 100% 100% 100%
src/collections/Countries.ts 100% 100% 100% 100%
src/collections/DoctorSpecialties.ts 72.72% 62.5% 100% 100% 47, 48, 51
src/collections/DoctorTreatments.ts 78.57% 62.5% 100% 100% 46, 47, 50
src/collections/Doctors.ts 92.85% 93.33% 100% 100% 180
src/collections/FavoriteClinics.ts 92.85% 85.71% 100% 100% 22
src/collections/MedicalSpecialties.ts 100% 100% 100% 100%
src/collections/PatientClinicInquiries.ts 89.65% 82.35% 100% 100% 46, 47, 69
src/collections/PlatformStaff.ts 100% 100% 100% 100%
src/collections/Reviews.ts 96.42% 78.37% 100% 100% 214
src/collections/Tags.ts 100% 100% 100% 100%
src/collections/Treatments.ts 100% 100% 100% 100%
src/collections/BasicUsers/index.ts 100% 100% 100% 100%
src/collections/BasicUsers/hooks/createSupabaseUser.ts 84.21% 78.57% 100% 81.25% 13, 32-34
src/collections/BasicUsers/hooks/createUserProfile.ts 76.19% 64.28% 100% 78.94% 23-24, 31-40, 46
src/collections/BasicUsers/hooks/deleteSupabaseUser.ts 65.38% 50% 100% 65.38% 20-21, 45-53, 63-70, 76-83
src/collections/ClinicGalleryEntries/index.ts 100% 100% 100% 100%
src/collections/ClinicGalleryEntries/hooks/beforeChangeClinicGalleryEntry.ts 93.75% 85.71% 100% 93.75% 14, 23
src/collections/ClinicGalleryMedia/index.ts 100% 100% 100% 100%
src/collections/ClinicMedia/index.ts 100% 100% 100% 100%
src/collections/ClinicTreatments/index.ts 100% 100% 100% 100%
src/collections/ClinicTreatments/hooks/averagePriceUtils.ts 81.81% 86.66% 100% 82.35% 31, 36-37, 57
src/collections/ClinicTreatments/hooks/updateAveragePriceAfterChange.ts 75% 60% 100% 80% 11, 21-26
src/collections/ClinicTreatments/hooks/updateAveragePriceAfterDelete.ts 81.81% 50% 100% 90% 7, 15
src/collections/DoctorMedia/index.ts 81.25% 72.72% 100% 92.85% 40, 46, 57
src/collections/DoctorMedia/hooks/beforeChangeDoctorMedia.ts 89.28% 81.08% 100% 89.28% 17, 22, 45
src/collections/MedicalSpecialties/hooks/enforceTwoLevelHierarchy.ts 81.81% 68% 100% 81.81% 9-11, 21
src/collections/Pages/index.ts 66.66% 0% 71.42% 66.66% 45-59
src/collections/Pages/legalPages.ts 72.61% 54% 100% 72.61% 129-135, 145-146, 150, 157-167, 207-213, 221-247, 255-262, 268-269, 316, 320, 328, 352
src/collections/Pages/hooks/populatePublishedAt.ts 100% 100% 100% 100%
src/collections/Pages/hooks/revalidatePage.ts 78.94% 68.75% 100% 78.94% 18-23
src/collections/Patients/index.ts 77.77% 66.66% 100% 85.71% 35, 39
src/collections/Patients/hooks/patientSupabaseCreate.ts 77.27% 62.5% 100% 80% 9, 22, 60-69
src/collections/Patients/hooks/patientSupabaseDelete.ts 64.28% 50% 100% 69.23% 8, 10-11, 16-18
src/collections/PlatformContentMedia/index.ts 100% 100% 100% 100%
src/collections/PlatformContentMedia/hooks/beforeChangePlatformContentMedia.ts 93.33% 83.33% 100% 93.33% 18
src/collections/Posts/index.ts 80% 50% 81.81% 80% 55-69
src/collections/Posts/hooks/populateAuthors.ts 78.94% 67.56% 100% 90.62% 24-27, 37, 72, 84
src/collections/Posts/hooks/revalidatePost.ts 78.94% 80% 100% 78.94% 18-23
src/collections/UserProfileMedia/index.ts 66.32% 56.19% 100% 77.33% 23-29, 37, 43-50, 55, 56, 79, 80, 88-92, 111, 114, 116, 158, 159, 162, 165, 209, 210, 212
src/collections/common/mediaCollection.ts 100% 97.22% 100% 100%
src/collections/common/mediaPathHelpers.ts 71.11% 69.87% 100% 76.38% 28, 38-61, 89, 94, 111, 116, 139, 144, 147
src/collections/common/selectionOptions.ts 100% 100% 100% 100%
src/collections/common/stableIdField.ts 100% 100% 100% 100%
src/hooks/clinicOwnership.ts 92.3% 64.28% 100% 92.1% 38, 69, 76
src/hooks/createdBy.ts 100% 84.61% 100% 100%
src/hooks/immutability.ts 90% 70% 100% 90% 41
src/hooks/publishedAt.ts 84.61% 71.42% 100% 84.61% 35, 37
src/hooks/calculations/updateAverageRatings.ts 81.57% 68.62% 100% 80.82% 18, 61-62, 89, 97, 129-130, 135-136, 141-152, 162, 189
Generated in workflow #2677 for commit 3f5aa97 by the Vitest Coverage Report Action

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 26, 2026

Combined Coverage Summary

Source Statements Branches Functions Lines
integration 81.5% (877/1076) 72.22% (684/947) 97.17% (172/177) 85.13% (836/982)
storybook 71.07% (2688/3782) 60.91% (1808/2968) 77.02% (714/927) 72.93% (2503/3432)
unit 78.25% (5187/6628) 67.08% (3453/5147) 83.26% (1025/1231) 79.88% (4864/6089)
combined 76.2% (8752/11486) 65.6% (5945/9062) 81.84% (1911/2335) 78.1% (8203/10503)

@SebastianSchuetze SebastianSchuetze force-pushed the feature/clinic-registration-intake branch from 486bf1d to 3f5aa97 Compare May 26, 2026 19:57
@SebastianSchuetze SebastianSchuetze enabled auto-merge (squash) May 26, 2026 19:58
@SebastianSchuetze SebastianSchuetze merged commit 275969e into main May 26, 2026
24 checks passed
@SebastianSchuetze SebastianSchuetze deleted the feature/clinic-registration-intake branch May 26, 2026 20:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature: streamline clinic registration intake

1 participant