Skip to content

test(e2e): login-hint-resolution feature scenarios#94

Merged
aspiers merged 3 commits into
mainfrom
hyper-cucumber-all-features
Apr 20, 2026
Merged

test(e2e): login-hint-resolution feature scenarios#94
aspiers merged 3 commits into
mainfrom
hyper-cucumber-all-features

Conversation

@aspiers
Copy link
Copy Markdown
Contributor

@aspiers aspiers commented Apr 20, 2026

Summary

  • Implement all 5 scenarios in features/login-hint-resolution.feature (email/handle/DID hints on query string, hint in PAR body only, unknown hint fallback).
  • Rewrite the feature to use the dynamic test account created by the Background — the prior alice@example.com / alice.pds.test / did:plc:alice123 literals can't be planted in the live Railway test environment.
  • Extend the demo OAuth client with ?login_hint=<raw> and ?login_hint_location=query|body so tests can exercise the handle / DID / PAR-body code paths without a bespoke OAuth client. Existing ?email= / ?handle= behavior is unchanged; the explicit ?login_hint= override wins when provided.

Test plan

  • pnpm lint && pnpm format:check && pnpm typecheck && pnpm test all pass locally
  • E2E tests on Railway (triggered by push)

🤖 Generated with Claude Code

@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 20, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
epds-demo Ready Ready Preview, Comment Apr 20, 2026 3:30pm

Request Review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 20, 2026

Warning

Rate limit exceeded

@aspiers has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 5 minutes and 11 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 5 minutes and 11 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 6e9e6cf9-6f50-463d-98ab-5b78bdf92bc0

📥 Commits

Reviewing files that changed from the base of the PR and between 1a4be35 and 37f4615.

📒 Files selected for processing (4)
  • e2e/step-definitions/login-hint.steps.ts
  • features/login-hint-resolution.feature
  • packages/demo/src/app/api/oauth/login/route.ts
  • packages/demo/src/app/components/LoginForm.tsx
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch hyper-cucumber-all-features

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@railway-app
Copy link
Copy Markdown

railway-app Bot commented Apr 20, 2026

🚅 Deployed to the ePDS-pr-94 environment in ePDS

Service Status Web Updated (UTC)
@certified-app/demo untrusted ✅ Success (View Logs) Web Apr 20, 2026 at 3:31 pm
@certified-app/demo ✅ Success (View Logs) Web Apr 20, 2026 at 3:31 pm
@certified-app/auth-service ✅ Success (View Logs) Web Apr 20, 2026 at 3:06 pm
@certified-app/pds-core ✅ Success (View Logs) Web Apr 20, 2026 at 3:06 pm

@coveralls-official
Copy link
Copy Markdown

coveralls-official Bot commented Apr 20, 2026

Coverage Report for CI Build 24675237166

Warning

Build has drifted: This PR's base is out of sync with its target branch, so coverage data may include unrelated changes.
Quick fix: rebase this PR. Learn more →

Coverage increased (+0.3%) to 36.836%

Details

  • Coverage increased (+0.3%) from the base build.
  • Patch coverage: 2 uncovered changes across 1 file (9 of 11 lines covered, 81.82%).
  • 15 coverage regressions across 2 files.

Uncovered Changes

File Changed Covered %
packages/demo/src/app/api/oauth/login/route.ts 11 9 81.82%

Coverage Regressions

15 previously-covered lines in 2 files lost coverage.

File Lines Losing Coverage Coverage
packages/auth-service/src/context.ts 8 0.0%
packages/auth-service/src/email/sender.ts 7 52.69%

Coverage Stats

Coverage Status
Relevant Lines: 2035
Covered Lines: 776
Line Coverage: 38.13%
Relevant Branches: 1182
Covered Branches: 409
Branch Coverage: 34.6%
Branches in Coverage %: Yes
Coverage Strength: 3.19 hits per line

💛 - Coveralls

Cover all five scenarios from login-hint-resolution.feature: email, handle,
and DID hints on the query string; hint in the PAR body only; and unknown
hints falling back to the email form. Rewrite the feature file to use the
dynamic test account created by the Background instead of the previous
hard-coded alice@example.com / alice.pds.test / did:plc:alice123 literals,
which cannot be planted in the live test environment.

Extend the demo OAuth client with `?login_hint=<raw>` and
`?login_hint_location=query|body` query params so tests can drive the
handle / DID / PAR-body code paths without a bespoke OAuth client. Existing
`?email=` and `?handle=` behaviors are unchanged; the explicit override
wins when present.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Comment thread e2e/step-definitions/login-hint.steps.ts
Comment thread packages/demo/src/app/api/oauth/login/route.ts
The demo home page does not forward ?login_hint= query params to the
login route, so navigating to demoUrl/?login_hint=... dropped the hint
before PAR. Hit /api/oauth/login directly where rawLoginHint is read.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Matches the error code introduced in /api/oauth/login so users see a
readable message instead of the "Unexpected error: …" fallback.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@railway-app railway-app Bot temporarily deployed to ePDS / ePDS-pr-94 April 20, 2026 15:30 Destroyed
@sonarqubecloud
Copy link
Copy Markdown

@aspiers aspiers merged commit e35ea6f into main Apr 20, 2026
15 checks passed
@aspiers aspiers deleted the hyper-cucumber-all-features branch April 20, 2026 15:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant