feat(API): optional display name on users
This commit is contained in:
1 parent
792aba433d
commit
7aae704d0a
22 files changed
+1051
-40
No files matched your search
@@ -7,11 +7,11 @@ Feature: API responses never expose a user's secret fields
|
||||
credential or a still-valid reset/verification secret
|
||||
|
||||
Background:
|
||||
Given the public shape of a user in any API response is exactly six fields: id, username,
|
||||
email, is_verified, created_at and updated_at
|
||||
And password, password_reset_code, verification_code, verification_expiration and
|
||||
password_reset_expiration never appear in any response body, under any key name, regardless
|
||||
of their value or whether they are set
|
||||
Given the public shape of a user in any API response is exactly seven fields: id, username,
|
||||
email, is_verified, created_at, updated_at and display_name
|
||||
And password, password_reset_code, verification_code, verification_expiration,
|
||||
password_reset_expiration and token_version never appear in any response body, under any key
|
||||
name, regardless of their value or whether they are set
|
||||
|
||||
Scenario: A successful verification response carries only public fields
|
||||
Given a user repository containing user id 7, username "alice", email "alice@example.com",
|
||||
@@ -21,10 +21,11 @@ Feature: API responses never expose a user's secret fields
|
||||
When the client sends POST /v1/auth/verify with body {"code": "abc123"}
|
||||
Then the response status is 200
|
||||
And the response body is a JSON object with exactly the keys id, username, email,
|
||||
is_verified, created_at and updated_at
|
||||
is_verified, created_at, updated_at and display_name
|
||||
And the response body does not contain the keys password, password_reset_code,
|
||||
verification_code, verification_expiration or password_reset_expiration
|
||||
verification_code, verification_expiration, password_reset_expiration or token_version
|
||||
And the response body's is_verified is true
|
||||
And the response body's display_name is ""
|
||||
|
||||
Scenario: A rejected verification attempt never echoes any user field
|
||||
Given a user repository containing user id 7, username "alice", is_verified false, whose
|
||||
|
||||
Reference in new issue
Block a user