Skip to content

TEST: Mentor registration #3

@nora-weisser

Description

@nora-weisser
  • POST /api/platform/v1/mentors is anonymous. The server always sets profileStatus = PENDING regardless of input.
  • Re-registering with an email already tied to a member reuses that member.id and re-issues a PENDING status. No duplicate member row is created.
  • Calendly link is required at registration (per PM); validate URL format. Missing or malformed → 4xx.
  • Cycle preference combinations accepted at registration:
    • longTerm populated only → long-term only.
    • adHoc non-empty only → ad-hoc only.
    • Both populated → both.
  • Long-term commitment validation: LongTermMentorship.hours / numMentee >= 2. Submissions with hoursPerMentee < 2 are rejected with IllegalArgumentException from MentorshipService.validateMentorCommitment.
  • PATCH /mentors/{id}/accept (permission MENTOR_APPROVE) transitions to ACTIVE and sends the approval email. Calling on an already-active mentor → MentorStatusException.
  • PATCH /mentors/{id}/reject (permission MENTOR_APPROVE) requires a reason in the body; transitions to REJECTED and sends the rejection email. Calling on an already-rejected mentor → MentorStatusException.
  • After accept, mentor appears on the website and is selectable in the list in mentee registration.
  • After reject, mentor does not appear in the website.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No fields configured for Task.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions