• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

safe-global / safe-client-gateway / 26629381691
90%

Build:
DEFAULT BRANCH: main
Ran 29 May 2026 09:29AM UTC
Jobs 2
Files 1203
Run time 3min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

29 May 2026 09:25AM UTC coverage: 89.798% (+0.08%) from 89.722%
26629381691

push

github

web-flow
feat: per-Space onboarding survey module (#3107)

* feat: add Space onboarding survey module

Adds a per-Space survey collected as the final step of Space onboarding.
Captures usage intent (operate protocol, run payments, hold assets, etc.)
for analytics and future per-Space personalisation. Only space admins can
read/write; submission overwrites the prior answer for the space.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* chore: make SurveyResponseResultDto a type-only import in surveys service

It is only referenced as a type annotation; the value import added no runtime usage.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* refactor(surveys): structure survey_content + selections as pages

Reshape the survey JSONB and the per-Space response payload so multi-page
surveys can ship later without breaking the analytics property schema
sent to Mixpanel.

- survey_content: { multiSelect, options[] }
                → { pages: [{ id, title, subtitle, multiSelect, options[] }] }
- selections (column + DTO):
    string[] → Record<pageId, string[]>
- Service validates: every page id present, no unknown ids, each page's
  selections ⊆ that page's option keys, single-select pages allow only 1.
- Migration seed now produces a one-page onboarding survey; the column
  type is unchanged (JSONB) so no schema change beyond data shape.
- e2e tests updated to the new wire shape; new tests cover missing-page,
  unknown-page-id, and unknown-key-within-page error paths.

surveys.title / surveys.subtitle remain as admin-facing labels (handy
for Mixpanel event metadata and a future admin UI); user-facing headers
now live on the page itself.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(surveys): atomic upsert via repo.upsert + apply biome formatting

Replace the find-then-update-or-insert pair in SurveysRepository.upsertResponse
with a single repo.upsert (Postgres INSERT ... ON CONFLICT DO U... (continued)

4315 of 5180 branches covered (83.3%)

Branch coverage included in aggregate %.

178 of 184 new or added lines in 12 files covered. (96.74%)

2 existing lines in 2 files now uncovered.

16404 of 17893 relevant lines covered (91.68%)

583.92 hits per line

Uncovered Changes

Lines Coverage ∆ File
3
70.0
src/modules/surveys/domain/entities/survey-response.entity.ts
2
90.0
src/modules/surveys/datasources/entities/survey-response.entity.db.ts
1
90.91
src/modules/surveys/datasources/entities/survey.entity.db.ts

Coverage Regressions

Lines Coverage ∆ File
1
93.75
-3.13% src/modules/notifications/routes/v1/entities/__tests__/create-registration-v2.dto.builder.ts
1
89.87
-3.8% src/modules/notifications/routes/v1/notifications.controller.ts
Jobs
ID Job ID Ran Files Coverage
1 run-integration-tests - 26629381691.1 29 May 2026 09:30AM UTC 2309
78.25
GitHub Action Run
2 run-unit-tests - 26629381691.2 29 May 2026 09:29AM UTC 2110
57.38
GitHub Action Run
Source Files on build 26629381691
  • Tree
  • List 1203
  • Changed 337
  • Source Changed 1
  • Coverage Changed 337
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #26629381691
  • cd24bb03 on github
  • Prev Build on main (#26581380639)
  • Next Build on main (#26761570486)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc