Skip to content

Test Cases: Quyền hạn

ModuleCORE-02URDPermissions URD

1. Tóm tắt Độ phủ

VùngURD reqsTest caseĐã phủ
Vai trò Cố định (ROLE)913
Vai trò Tùy chỉnh (CROLE)86
Catalog Quyền (PERM)55
Cấp / Thu hồi (GRANT)76
Quyền Hiệu lực & Phạm vi (EFF)44

Casbin RBAC với domain theo merchant được bật trên nhánh này — việc lọc và phân giải cấp quyền được chạy đối chứng với enforcer thật, không phải mock.

2. Test Cases

TC-<AREA>-NNN khớp với URD-<AREA>-NNN. Mức ưu tiên = P1 (nghiêm trọng) / P2 (lớn) / P3 (nhỏ).

TC IDURD refTình huốngCác bướcKỳ vọngP
TC-ROLE-001URD-ROLE-001Tám vai trò cố định được seed1. Khởi tạo hệ thống 2. Liệt kê vai tròSuper Admin, Admin, Operator, Owner, Cashier, Employee, Customer, Guest đều tồn tạiP1
TC-ROLE-002URD-ROLE-003Ưu tiên đặt đúng1. Kiểm tra ưu tiên vai tròLần lượt 999 / 900 / 600 / 500 / 110 / 100 / 10 / 1P1
TC-ROLE-003URD-ROLE-004Bỏ qua với Super Admin1. Đăng nhập Super Admin 2. Liệt kê mọi merchantTrả mọi merchant, không lọcP1
TC-ROLE-004URD-ROLE-004Bỏ qua với Admin / Operator1. Đăng nhập Admin (rồi Operator) 2. Liệt kê merchantTrả mọi merchant, bỏ qua lọcP1
TC-ROLE-005URD-ROLE-005Owner chỉ thấy org của mình1. Owner của Org A (M1,M2) liệt kê merchant; Org B có M3,M4Chỉ trả M1, M2P1
TC-ROLE-006URD-ROLE-006Employee thấy merchant được gán1. Employee chỉ được gán M1 liệt kê merchantChỉ trả M1P1
TC-ROLE-007URD-ROLE-006Cashier giống phạm vi Employee1. Cashier được gán M1 liệt kê merchantChỉ trả M1 (giống Employee)P1
TC-ROLE-008URD-ROLE-007Count được lọc1. Owner có 2 merchant count merchantCount = 2P1
TC-ROLE-009URD-ROLE-008Truy cập ID lạ bị từ chối1. Owner của Org A yêu cầu M3 của Org B theo IDTừ chối truy cậpP1
TC-ROLE-010URD-ROLE-008Bộ lọc người dùng không nới phạm vi1. Owner truyền bộ lọc để gồm Org BBộ lọc bị bỏ qua; chỉ trả dữ liệu của mìnhP1
TC-ROLE-011URD-ROLE-002Vai trò hệ thống bất biến1. Thử xóa vai trò Super AdminBị từ chốiP1
TC-ROLE-012URD-ROLE-002Ưu tiên hệ thống bất biến1. Thử đổi ưu tiên Admin 900→500Bị từ chốiP2
TC-ROLE-013URD-ROLE-009Mở rộng HQ-owner1. Owner tại HQ tổ chức liệt kê merchantTrả mọi merchant anh em của tổ chứcP2
TC-CROLE-001URD-CROLE-001Tạo vai trò tùy chỉnh1. Admin/Owner tạo vai trò với tên + ưu tiênVai trò được tạo, type CUSTOMP1
TC-CROLE-002URD-CROLE-002Định danh tự sinh & duy nhất1. Tạo hai vai trò cùng ưu tiên+tên trong một phạm viCái thứ hai bị từ chối (trùng)P2
TC-CROLE-003URD-CROLE-003Bảo vệ ưu tiên khi tạo1. Owner tạo vai trò với ưu tiên ≥ của mìnhBị từ chối (nâng quyền)P1
TC-CROLE-004URD-CROLE-004Liên kết phạm vi được tạo1. Tạo vai trò giới hạn theo một org/merchantMembership phạm vi được ghiP2
TC-CROLE-005URD-CROLE-006Xóa bị chặn khi có người dùng được gán1. Xóa vai trò tùy chỉnh có người dùngBị chặn — gỡ gán trướcP1
TC-CROLE-006URD-CROLE-007Xóa cascade1. Xóa vai trò tùy chỉnh không có người dùngVai trò + cấp quyền + liên kết phạm vi được soft-deleteP1
TC-PERM-001URD-PERM-001Tạo quyền1. Admin tạo quyền với code/action/scope/subjectQuyền được tạoP1
TC-PERM-002URD-PERM-002Tính duy nhất code1. Tạo quyền với code đã cóBị từ chốiP1
TC-PERM-003URD-PERM-003Tên/mô tả i18n1. Kiểm tra một quyềnTên & mô tả mang en + viP2
TC-PERM-004URD-PERM-004Cập nhật quyền1. Admin cập nhật tên một quyềnĐược cập nhật; code giữ bất biếnP2
TC-PERM-005URD-PERM-005Xóa bị chặn khi có cấp quyền hoạt động1. Xóa một quyền được cấp cho một vai tròBị chặnP1
TC-GRANT-001URD-GRANT-001Cấp quyền cho vai trò1. Admin cấp [P1,P2] cho vai tròCấp quyền được tạo, trả về số lượngP1
TC-GRANT-002URD-GRANT-002Thu hồi quyền khỏi vai trò1. Admin thu hồi một quyềnCấp quyền bị gỡP1
TC-GRANT-003URD-GRANT-003Cấp idempotent1. Cấp một quyền đã cấpBỏ qua, trả về số bỏ quaP2
TC-GRANT-004URD-GRANT-004Cấp / thu hồi vai trò cho người dùng1. Admin gán rồi gỡ một vai tròNgười dùng có rồi mất vai trò ở lần đăng nhập kế tiếpP1
TC-GRANT-005URD-GRANT-005Bảo vệ chống nâng quyền1. Người thao tác cấp trên một vai trò ≥ ưu tiên của mìnhBị từ chốiP1
TC-GRANT-006URD-GRANT-006, URD-GRANT-007Xem gán vai trò / người dùng1. Liệt kê quyền của vai trò, người dùng, và vai trò của một người dùngTrả về danh sách đúngP2
TC-EFF-001URD-EFF-001Hiệu lực = trực tiếp ∪ kế thừa1. Người dùng có cấp vai trò + một cấp trực tiếp 2. Truy vấn hiệu lựcTrả về hợp, đã khử trùngP1
TC-EFF-002URD-EFF-002Bộ lọc chế độ1. Truy vấn với mode=direct, rồi mode=inheritChỉ trực tiếp, rồi chỉ kế thừaP2
TC-EFF-003URD-EFF-003Liệt kê org & merchant của người dùng1. Truy vấn tổ chức và merchant của một người dùngTrả về membership đúngP2
TC-EFF-004URD-EFF-004Cấp quyền phân giải trong domain hoạt động1. Cấp trong Merchant_A 2. Thao tác dưới header Merchant_BCấp quyền không áp dụng trong BP1

3. Truy vết

Mọi yêu cầu Must ánh xạ tới ≥1 test case.

Yêu cầu URDTest caseTrạng thái
URD-ROLE-001TC-ROLE-001✅ Đã phủ
URD-ROLE-002TC-ROLE-011, TC-ROLE-012✅ Đã phủ
URD-ROLE-003TC-ROLE-002✅ Đã phủ
URD-ROLE-004TC-ROLE-003, TC-ROLE-004✅ Đã phủ
URD-ROLE-005TC-ROLE-005✅ Đã phủ
URD-ROLE-006TC-ROLE-006, TC-ROLE-007✅ Đã phủ
URD-ROLE-007TC-ROLE-008✅ Đã phủ
URD-ROLE-008TC-ROLE-009, TC-ROLE-010✅ Đã phủ
URD-ROLE-009TC-ROLE-013✅ Đã phủ
URD-CROLE-001TC-CROLE-001✅ Đã phủ
URD-CROLE-002TC-CROLE-002✅ Đã phủ
URD-CROLE-003TC-CROLE-003✅ Đã phủ
URD-CROLE-004TC-CROLE-004✅ Đã phủ
URD-CROLE-005TC-CROLE-001 (đường cập nhật)✅ Đã phủ
URD-CROLE-006TC-CROLE-005✅ Đã phủ
URD-CROLE-007TC-CROLE-006✅ Đã phủ
URD-CROLE-008TC-CROLE-003, TC-CROLE-004✅ Đã phủ
URD-PERM-001TC-PERM-001✅ Đã phủ
URD-PERM-002TC-PERM-002✅ Đã phủ
URD-PERM-003TC-PERM-003✅ Đã phủ
URD-PERM-004TC-PERM-004✅ Đã phủ
URD-PERM-005TC-PERM-005✅ Đã phủ
URD-GRANT-001TC-GRANT-001✅ Đã phủ
URD-GRANT-002TC-GRANT-002✅ Đã phủ
URD-GRANT-003TC-GRANT-003✅ Đã phủ
URD-GRANT-004TC-GRANT-004✅ Đã phủ
URD-GRANT-005TC-GRANT-005✅ Đã phủ
URD-GRANT-006TC-GRANT-006✅ Đã phủ
URD-GRANT-007TC-GRANT-006✅ Đã phủ
URD-EFF-001TC-EFF-001✅ Đã phủ
URD-EFF-002TC-EFF-002✅ Đã phủ
URD-EFF-003TC-EFF-003✅ Đã phủ
URD-EFF-004TC-EFF-004✅ Đã phủ

Proprietary and Confidential. Unauthorized copying, distribution, or use of this software is strictly prohibited.