Skip to content

Test Cases: Commerce

ModuleCORE-03URDCommerce URD

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

VùngURD reqsTest caseĐã phủ
Tổ chức (ORG)1317
Merchant (MER)1517
Kênh Bán (SC)78
Danh mục (CAT)45
Chính sách Xóa (DEL)43
Cấu hình (CFG)30⚠️
Truy cập (ACC)1213

Yêu cầu Cấu hình (CFG) đều ở mức ưu tiên Should và hiện thiếu test case riêng — được nêu ở §3.

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ỏ).

2.1 Onboarding

TC IDURD refTình huốngCác bướcKỳ vọngP
TC-ORG-001URD-ORG-001, URD-ORG-002, URD-MER-001, URD-SC-001Onboarding đường thuận1. Người dùng đã xác thực không có org. 2. Hoàn tất onboarding với tên + slug hợp lệTổ chức (Activated) + merchant mặc định + kênh mặc định được tạo; định danh tự sinh cho cả baP1
TC-ORG-002URD-ORG-003Người tạo thành Owner1. Người dùng mới hoàn tất onboardingNgười dùng được gán là Owner với toàn quyền trên tổ chức và merchant của nóP1
TC-ORG-003URD-ORG-004Onboarding yêu cầu tên1. Thử onboarding không có tên doanh nghiệpBị từ chối; không tạo org/merchant/kênhP1
TC-ORG-004URD-ORG-001, URD-ORG-002Roll back nguyên tử1. Org được tạo. 2. Tạo merchant/kênh mặc định thất bạiToàn bộ thao tác roll back; không có gì được lưuP1
TC-ORG-005URD-ORG-004Slug tự sinh1. Onboard với tên nhưng không slugSlug được sinh từ tên và duy nhấtP2
TC-ORG-006URD-ORG-001Một org cho mỗi người dùng1. Người dùng đã có một org. 2. Thử onboarding lạiBị từ chối; lỗi báo org đã tồn tạiP2

2.2 Tổ chức

TC IDURD refTình huốngCác bướcKỳ vọngP
TC-ORG-007URD-ORG-004Tạo với trường tùy chọn rỗng1. Tạo org chỉ với tên + slugĐược tạo; trường tùy chọn (thuế, đăng ký, liên hệ, địa chỉ) nullP1
TC-ORG-008URD-ORG-004Tên đa ngôn ngữ1. Cung cấp tên ở EN + VIMọi phiên bản ngôn ngữ được lưu và truy xuất đượcP1
TC-ORG-009URD-ORG-005Định danh hệ thống1. Tạo orgĐịnh danh hệ thống duy nhất được gán, người dùng không sửa đượcP1
TC-ORG-010URD-ORG-007Xem chi tiết1. Owner/Admin xem orgMọi thông tin được trả kèm trạng thái và định danhP1
TC-ORG-011URD-ORG-007Cập nhật hồ sơ1. Owner cập nhật thuế/liên hệ/địa chỉĐược cập nhật; người sửa được ghi nhận; merchant không bị ảnh hưởngP1
TC-ORG-012URD-ORG-007Từ chối tên rỗng1. Owner đặt tên rỗngBị từ chối; dữ liệu gốc được bảo toànP2
TC-ORG-013URD-ORG-006Tra cứu theo ID và slug1. Tìm theo ID. 2. Tìm theo slugOrg được trả trong cả hai trường hợpP1
TC-ORG-014URD-ORG-006Tra cứu không thấy1. Tìm theo ID không tồn tạiKhông tìm thấyP2
TC-ORG-015URD-ORG-005Tính duy nhất slug toàn cục1. Org dùng slug "x". 2. Người dùng khác thử "x"Bị từ chối; slug đã dùngP1
TC-ORG-016URD-ORG-010Vô hiệu hóa1. Owner vô hiệu hóa org đang hoạt độngTrạng thái Deactivated; dữ liệu được bảo toàn; đảo ngược đượcP2
TC-ORG-017URD-ORG-012Lưu trữ1. Owner lưu trữ orgTrạng thái Archived; dữ liệu được bảo toàn; ẩn khỏi danh sách hoạt độngP2
TC-ORG-018URD-ORG-011Merchant trụ sở1. Owner chỉ định một merchant HQMerchant chính được tham chiếu trên orgP2
TC-ORG-019URD-ORG-013Tổ chức con1. Owner tạo org con dưới org chaCon tham chiếu cha; cha hiển thị conP3

2.3 Merchant

TC IDURD refTình huốngCác bướcKỳ vọngP
TC-MER-001URD-MER-001Merchant mặc định khi onboarding1. Onboarding hoàn tấtMerchant mặc định Activated với một kênh mặc định; định danh được sinhP1
TC-MER-002URD-MER-002Tạo thêm merchant1. Owner tạo merchant với tên/loại/tiền tệĐược tạo và liên kết; org giờ có 2 merchantP1
TC-MER-003URD-MER-002Từ chối thiếu tên1. Tạo merchant không có tênBị từ chối; tên là bắt buộcP2
TC-MER-004URD-MER-003Tạo hàng loạt1. Owner tạo hàng loạt 3 merchantCả 3 được tạo với định danh/slug duy nhất, cùng orgP1
TC-MER-005URD-MER-004, URD-CAT-001, URD-SC-002Tạo aggregate1. Tạo merchant với 2 danh mục + 2 kênhTất cả được tạo và liên kết nguyên tử; định danh được sinhP1
TC-MER-006URD-MER-004Roll back tạo aggregate1. Tạo aggregate với danh mục không hợp lệToàn bộ thao tác bị từ chối; không có gì được tạoP1
TC-MER-007URD-MER-005Tính duy nhất slug theo org1. Hai org khác nhau cùng tạo slug "store-a"Cả hai thành công; tính duy nhất giới hạn theo orgP1
TC-MER-008URD-MER-005Slug trùng trong cùng org1. Tạo merchant thứ hai với slug đã có trong cùng orgBị từ chối; slug đã dùng trong orgP1
TC-MER-009URD-MER-006Xem merchant1. Owner/Admin xem merchantTên/loại/tiền tệ/trạng thái được trả; kênh & danh mục truy cập đượcP1
TC-MER-010URD-MER-007Cập nhật merchant1. Owner cập nhật tên + tiền tệĐược cập nhật; người sửa được ghi nhận; kênh/danh mục không bị ảnh hưởngP1
TC-MER-011URD-MER-008, URD-CAT-002, URD-CAT-003, URD-SC-003Cập nhật aggregate thao tác hỗn hợp1. Đổi tên một danh mục. 2. Thêm một danh mục. 3. Xóa một kênh. 4. Thêm một kênhTất cả được áp dụng nguyên tửP1
TC-MER-012URD-MER-008Quy ước khóa cập-nhật-thông-minh1. Con {id} thôi. 2. ConCái thứ nhất bị xóa; cái thứ hai được cập nhậtP1
TC-MER-013URD-MER-015Cờ xóa rõ ràng1. Cập nhật aggregate với cờ xóa rõ ràng trên một danh mụcDanh mục bị xóa; gửi ID không kèm cờ xóa thì KHÔNG xóaP1
TC-MER-014URD-MER-008Roll back cập nhật aggregate1. Đổi tên hợp lệ + kênh không hợp lệToàn bộ cập nhật thất bại; dữ liệu gốc được bảo toànP1
TC-MER-015URD-MER-009Tra cứu theo ID và slug1. Tìm theo ID. 2. Tìm theo slugMerchant được trả trong cả hai trường hợpP1
TC-MER-016URD-MER-012Vô hiệu hóa / kích hoạt lại1. Vô hiệu hóa rồi kích hoạt lạiTrạng thái chuyển đổi; kênh/danh mục nguyên vẹnP2
TC-MER-017URD-MER-014Phân cấp merchant1. Tạo merchant con dưới chaCon tham chiếu cha; cha hiển thị conP3

2.4 Kênh Bán

TC IDURD refTình huốngCác bướcKỳ vọngP
TC-SC-001URD-SC-001Kênh mặc định khi onboarding1. Onboarding hoàn tấtKênh mặc định Activated dưới merchant mặc định; định danh được sinhP1
TC-SC-002URD-SC-002Kênh qua tạo aggregate1. Tạo merchant với 2 kênhCả hai được tạo/liên kết; truy cập được trên merchantP1
TC-SC-003URD-SC-003Thêm hàng loạt vào merchant hiện có1. Thêm nhiều kênh vào một merchant hiện cóTất cả được tạo và liên kếtP1
TC-SC-004URD-SC-002Đổi tên qua cập nhật aggregate1. Đổi tên một kênhĐược đổi tên; kênh khác không đổiP2
TC-SC-005URD-SC-004Slug trùng trong merchant1. Tạo kênh với slug đã có trong cùng merchantBị từ chối; slug đã dùng trong merchantP1
TC-SC-006URD-SC-004Tính duy nhất slug theo merchant1. Hai merchant cùng dùng slug kênh "counter"Cả hai thành công; tính duy nhất giới hạn theo merchantP2
TC-SC-007URD-SC-005Định danh kênh1. Tạo kênhĐịnh danh hệ thống duy nhất, không sửa đượcP2
TC-SC-008URD-SC-006Phân cấp kênh1. Tạo kênh con dưới chaCon tham chiếu cha; cha hiển thị conP3

2.5 Danh mục

TC IDURD refTình huốngCác bướcKỳ vọngP
TC-CAT-001URD-CAT-001Danh mục qua tạo aggregate1. Tạo merchant với 2 danh mụcCả hai được tạo/liên kết; truy cập được trên merchantP1
TC-CAT-002URD-CAT-002Đổi tên danh mục1. Cập nhật aggregate đổi tên một danh mụcĐược đổi tên; sản phẩm dưới nó không bị ảnh hưởngP1
TC-CAT-003URD-CAT-003Xóa danh mục1. Cập nhật aggregate xóa một danh mụcSoft-deleted; danh mục khác không đổiP1
TC-CAT-004URD-CAT-004Đánh dấu add-on1. Đánh dấu một danh mục là add-onĐược gắn cờ; sản phẩm của nó được xem là add-onP2
TC-CAT-005URD-CAT-004Bỏ đánh dấu add-on1. Gỡ cờ add-onKhông còn là add-on; sản phẩm trở lạiP2

2.6 Chính sách Xóa

TC IDURD refTình huốngCác bướcKỳ vọngP
TC-DEL-001URD-DEL-001, URD-DEL-004Xem / cập nhật chính sách1. Owner xem rồi cập nhật chính sách xóaGiá trị hiện tại được trả; cập nhật được lưuP2
TC-DEL-002URD-DEL-002Xóa danh mục nghiêm ngặt1. strictCategoryDeletion true. 2. Xóa danh mục có sản phẩmBị chặnP2
TC-DEL-003URD-DEL-003Cascade xóa sản phẩm1. cascadeProductDeletion true. 2. Xóa danh mụcSản phẩm của nó cũng bị xóaP2

2.7 Truy cập

TC IDURD refTình huốngCác bướcKỳ vọngP
TC-ACC-001URD-ACC-001Gán cấp org1. Owner gán nhân viên ở cấp orgNhân viên truy cập được mọi merchant dưới orgP1
TC-ACC-002URD-ACC-002Gán cấp merchant1. Owner chỉ gán nhân viên cho Merchant ANhân viên truy cập A, không truy cập BP1
TC-ACC-003URD-ACC-002Gán đa merchant1. Nhân viên được gán A và CTruy cập A và C, không truy cập BP1
TC-ACC-004URD-ACC-003Truy cập đa org1. Người dùng được cấp truy cập Org X và YThấy dữ liệu từ cả hai orgP1
TC-ACC-005URD-ACC-004Cô lập dữ liệu của Owner1. Owner A yêu cầu dữ liệuChỉ Org X hiển thị; Org Y bị ẩnP1
TC-ACC-006URD-ACC-005List & count lọc theo vai trò1. Admin/Owner/Employee mỗi người yêu cầu list và countAdmin tất cả; Owner của mình; Employee được gán; count khớp listP1
TC-ACC-007URD-ACC-006Năng lực org của Owner1. Owner tạo/xem/cập nhật orgTất cả thành công; thay đổi được ghi nhậnP1
TC-ACC-008URD-ACC-007Năng lực merchant của Owner1. Owner tạo, cập nhật, vô hiệu hóa merchantTất cả thành công; trạng thái chuyển đổiP1
TC-ACC-009URD-ACC-008Quản lý kênh/danh mục của Owner1. Owner tạo/cập nhật/xóa kênh & danh mục qua aggregateTất cả phản ánh trên merchantP1
TC-ACC-010URD-ACC-009Gán nhân viên cho merchant1. Owner gán nhân viên cho một merchantÁnh xạ được tạo; nhân viên giới hạn theo merchant đóP1
TC-ACC-011URD-ACC-010List merchant của nhân viên1. Nhân viên được gán X yêu cầu listChỉ trả XP1
TC-ACC-012URD-ACC-011Nhân viên bị từ chối chưa-gán1. Nhân viên truy cập Merchant YTừ chối truy cậpP1
TC-ACC-013URD-ACC-012Vai trò không nhận diện1. Người dùng có vai trò không xử lý yêu cầu listBị từ chối (403 hoặc thiếu-quyền rõ ràng) — không bao giờ là list rỗng âm thầmP1

Phát hiện QE Assessment

Nhánh default của switch theo vai trò trong controller organizer/merchant trong quá khứ trả dữ liệu rỗng không kèm lỗi — không phân biệt được với "không có dữ liệu". TC-ACC-013 ngăn ngừa thất bại âm thầm này.

Phát hiện QE Assessment

Quy ước "khóa-đơn nghĩa là xóa" của cập-nhật-aggregate (một con gửi dạng { id } thôi) dễ vỡ: một client có ý định giữ nguyên một bản ghi sẽ kích hoạt một lần xóa. TC-MER-013 thay vào đó yêu cầu một cờ xóa rõ ràng.

3. Truy vết

Mọi yêu cầu Must ánh xạ tới ≥1 test case. Khoảng trống được nêu rõ.

Yêu cầu URDTest caseTrạng thái
URD-ORG-001TC-ORG-001, TC-ORG-004, TC-ORG-006✅ Đã phủ
URD-ORG-002TC-ORG-001, TC-ORG-004✅ Đã phủ
URD-ORG-003TC-ORG-002✅ Đã phủ
URD-ORG-004TC-ORG-003, TC-ORG-005, TC-ORG-007, TC-ORG-008, TC-ORG-012✅ Đã phủ
URD-ORG-005TC-ORG-009, TC-ORG-015✅ Đã phủ
URD-ORG-006TC-ORG-013, TC-ORG-014✅ Đã phủ
URD-ORG-007TC-ORG-010, TC-ORG-011✅ Đã phủ
URD-ORG-008⚠️ Chưa phủ (tệp đính kèm)
URD-ORG-009TC-ACC-006✅ Đã phủ
URD-ORG-010TC-ORG-016✅ Đã phủ
URD-ORG-011TC-ORG-018✅ Đã phủ
URD-ORG-012TC-ORG-017✅ Đã phủ
URD-ORG-013TC-ORG-019✅ Đã phủ
URD-MER-001TC-MER-001, TC-ORG-001✅ Đã phủ
URD-MER-002TC-MER-002, TC-MER-003✅ Đã phủ
URD-MER-003TC-MER-004✅ Đã phủ
URD-MER-004TC-MER-005, TC-MER-006✅ Đã phủ
URD-MER-005TC-MER-007, TC-MER-008✅ Đã phủ
URD-MER-006TC-MER-009✅ Đã phủ
URD-MER-007TC-MER-010✅ Đã phủ
URD-MER-008TC-MER-011, TC-MER-012, TC-MER-014✅ Đã phủ
URD-MER-009TC-MER-015✅ Đã phủ
URD-MER-010TC-ACC-006, TC-ACC-011✅ Đã phủ
URD-MER-011TC-ACC-006✅ Đã phủ
URD-MER-012TC-MER-016✅ Đã phủ
URD-MER-013TC-ORG-017 (vòng đời chung)✅ Đã phủ
URD-MER-014TC-MER-017✅ Đã phủ
URD-MER-015TC-MER-013✅ Đã phủ
URD-SC-001TC-SC-001, TC-ORG-001✅ Đã phủ
URD-SC-002TC-SC-002, TC-SC-004✅ Đã phủ
URD-SC-003TC-SC-003✅ Đã phủ
URD-SC-004TC-SC-005, TC-SC-006✅ Đã phủ
URD-SC-005TC-SC-007✅ Đã phủ
URD-SC-006TC-SC-008✅ Đã phủ
URD-SC-007TC-MER-011 (xóa kênh)✅ Đã phủ
URD-CAT-001TC-CAT-001, TC-MER-005✅ Đã phủ
URD-CAT-002TC-CAT-002✅ Đã phủ
URD-CAT-003TC-CAT-003✅ Đã phủ
URD-CAT-004TC-CAT-004, TC-CAT-005✅ Đã phủ
URD-DEL-001TC-DEL-001✅ Đã phủ
URD-DEL-002TC-DEL-002✅ Đã phủ
URD-DEL-003TC-DEL-003✅ Đã phủ
URD-DEL-004TC-DEL-001✅ Đã phủ
URD-CFG-001⚠️ Chưa phủ (Should)
URD-CFG-002⚠️ Chưa phủ (Should)
URD-CFG-003⚠️ Chưa phủ (Should)
URD-ACC-001TC-ACC-001, TC-ACC-002✅ Đã phủ
URD-ACC-002TC-ACC-002, TC-ACC-003✅ Đã phủ
URD-ACC-003TC-ACC-004✅ Đã phủ
URD-ACC-004TC-ACC-005✅ Đã phủ
URD-ACC-005TC-ACC-006, TC-ACC-013✅ Đã phủ
URD-ACC-006TC-ACC-007✅ Đã phủ
URD-ACC-007TC-ACC-008✅ Đã phủ
URD-ACC-008TC-ACC-009✅ Đã phủ
URD-ACC-009TC-ACC-010✅ Đã phủ
URD-ACC-010TC-ACC-011✅ Đã phủ
URD-ACC-011TC-ACC-012✅ Đã phủ
URD-ACC-012TC-ACC-013✅ Đã phủ

Khoảng trống: URD-ORG-008 (tệp đính kèm, Must) và URD-CFG-001..003 (Should) chưa có test case riêng.

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