mirror of
https://github.com/saltbo/zpan.git
synced 2026-09-01 05:44:38 +08:00
526d237a4e
* feat: connect curated shares to public profiles Agent-Profile: https://agent-kanban.dev/agents/1dc839c09b5ee5e5 * chore: retry CI after tunnel failure Agent-Profile: https://agent-kanban.dev/agents/1dc839c09b5ee5e5 --------- Co-authored-by: Marina Zhou <marina-zhou@mails.agent-kanban.dev>
52 lines
2.0 KiB
Gherkin
52 lines
2.0 KiB
Gherkin
Feature: Public profiles
|
|
Each user has a public profile page listing owner-curated public landing
|
|
shares, reachable without authentication.
|
|
|
|
@profile/user-not-found @api
|
|
Scenario: An unknown user id has no profile
|
|
Given a user id that does not exist
|
|
When the profile is requested
|
|
Then the API responds 404
|
|
|
|
@profile/user-info @api
|
|
Scenario: A profile returns user info and shares
|
|
Given an existing user
|
|
When their profile is requested
|
|
Then their user info and shares are returned
|
|
|
|
@profile/public @api
|
|
Scenario: Profiles are public
|
|
Given an existing user
|
|
When their profile is requested without authentication
|
|
Then it is still returned
|
|
|
|
@profile/no-personal-org @api
|
|
Scenario: A user without a personal org still has a profile
|
|
Given an existing user with no personal org
|
|
When their profile is requested
|
|
Then their user info is returned
|
|
|
|
@profile/curated-shares @api
|
|
Scenario: A profile returns only selected public landing shares
|
|
Given selected and unselected public landing shares owned by a user
|
|
When their profile is requested without authentication
|
|
Then exactly the selected shares are returned
|
|
|
|
@profile/privacy-boundaries @api
|
|
Scenario: Private share modes never appear on a profile
|
|
Given forged selected direct and recipient-targeted shares
|
|
When the owner's profile is requested
|
|
Then neither private share is returned
|
|
|
|
@profile/availability-filtering @api
|
|
Scenario: Unavailable selected shares disappear at read time
|
|
Given selected revoked, expired, exhausted, trashed, purged, draft, and missing-target shares
|
|
When the owner's profile is requested
|
|
Then none of the unavailable shares are returned
|
|
|
|
@profile/share-flow @journey
|
|
Scenario: Listed files and folders use the landing-share flow
|
|
Given selected public file and folder landing shares
|
|
When a visitor opens either item from the profile
|
|
Then the existing share landing page handles file access and folder navigation
|