As a Library Member, I want to see a list of all members of a library, so that I can understand who has access.
Figma: https://www.figma.com/design/q3Knq0BKoVTBbtaxb81n9R/RBAC---Console---Wireframes?node-id=2750-11405&t=71PeX22gyABqxnHu-4
Acceptance criteria
-
Placement
Integrated as a tab named Team Members in the Library Team Management view, alongside Roles and Permissions.
-
Header context
Shows library name and library ID in the header.
-
Access
Any user with a role in the library can view this tab.
Non members cannot access this panel.
-
Table
Columns: Name, Email, Roles, Actions.
Roles show all roles the user holds in this library, displayed as chips.
Actions column is always visible.
Viewers with manage team permission see an Edit control. Viewers without that permission see the column with no controls.
No Delete in the table.
-
Pagination
Paginated, fixed at 10 rows per page.
-
States
Loading uses skeleton rows.
Error shows a messages
Notes, out of scope for this card
- Sorting and filters are separate user stories.
- API is defined in a separate card, this card only specifies UI content.
- Error handling uses shared cards, to be defined separately. 401 and 403 use the same auth error view. 404 and general server errors use a not found or generic error view.
Test Cases
Setup
- Users, Admin A with manage team, Member M without manage team, User U with no role in the target library.
- Library exists with 12+ members and at least one member with multiple roles.
- Start logged in and able to navigate to Libraries.
Scenarios
As a Library Member, I want to see a list of all members of a library, so that I can understand who has access.
Figma: https://www.figma.com/design/q3Knq0BKoVTBbtaxb81n9R/RBAC---Console---Wireframes?node-id=2750-11405&t=71PeX22gyABqxnHu-4
Acceptance criteria
Placement
Integrated as a tab named Team Members in the Library Team Management view, alongside Roles and Permissions.
Header context
Shows library name and library ID in the header.
Access
Any user with a role in the library can view this tab.
Non members cannot access this panel.
Table
Columns: Name, Email, Roles, Actions.
Roles show all roles the user holds in this library, displayed as chips.
Actions column is always visible.
Viewers with manage team permission see an Edit control. Viewers without that permission see the column with no controls.
No Delete in the table.
Pagination
Paginated, fixed at 10 rows per page.
States
Loading uses skeleton rows.
Error shows a messages
Notes, out of scope for this card
Test Cases
Setup
Scenarios
1) Team Members tab shows expected columns
Given: I am logged in as a user who is a member of the library
When: I open Library Team Management and select the Team Members tab
Then: I see a table with columns Name, Email, Roles, Actions
2) Roles are shown as chips
Given: I am logged in as a member of the library
And: at least one member has multiple roles
When: I open the Team Members tab
Then: each member row shows their roles as chips in the Roles column
And: when I check the multi role member
Then: I see all of their roles as chips, clearly separated
3) Non member cannot see or open the library
Given: I am logged in as User U who is not a member of the library
When: I attempt to open the Library console for that library
Then: I cannot see the access in Library
And: I cannot open any Library Team Management tabs for that library
4) Pagination is fixed at 10 rows per page
Given: I am logged in as a member of the library
And: the library has at least 12 members
When: I open the Team Members tab
Then: I see 10 rows on page 1
And: when I go to page 2
Then: I see the remaining members, never more than 10 rows per page
5) Loading shows skeleton rows, then data
Given: I am logged in as a member of the library
When: I open the Team Members tab while data is loading
Then: I see skeleton rows in the table
And: when loading finishes
Then: the skeletons are replaced by member data