45 lines
1.4 KiB
Markdown
45 lines
1.4 KiB
Markdown
# User API Test Report
|
|
|
|
## How to Run the Tests
|
|
|
|
**Run all user API tests:**
|
|
```bash
|
|
pytest --tb=short tests/api_tests/user/
|
|
```
|
|
|
|
---
|
|
|
|
## Test Results Summary
|
|
|
|
- **Total tests collected:** 6
|
|
- **All tests passed.**
|
|
- **Warnings:**
|
|
- Deprecation warnings from Pydantic/Beanie (upgrade recommended for future compatibility).
|
|
|
|
---
|
|
|
|
## Test Case Explanations
|
|
|
|
### test_assign_roles.py
|
|
- **test_assign_roles_success_by_admin**
|
|
Admin user can assign a role to a user successfully.
|
|
- **test_assign_roles_fail_by_non_admin**
|
|
Non-admin user cannot assign roles to other users (permission denied).
|
|
- **test_assign_roles_fail_role_not_found**
|
|
Assigning a non-existent role to a user fails.
|
|
- **test_assign_roles_fail_empty_role_ids**
|
|
Assigning with an empty role list fails.
|
|
- **test_assign_roles_fail_empty_user_id**
|
|
Assigning roles with an empty user ID fails.
|
|
- **test_assign_roles_remove_duplicates**
|
|
Assigning duplicate role IDs results in de-duplication; the user ends up with a single instance of the role.
|
|
|
|
---
|
|
|
|
## Summary
|
|
|
|
- These tests ensure that only admin users can assign roles to users, and that the system properly handles invalid input and duplicate assignments.
|
|
- Each test case is designed to verify both positive and negative scenarios, including permission checks and input validation.
|
|
- If you need to add more user management scenarios, add new test cases to this directory and re-run the tests.
|
|
|
|
--- |