Mmaiqai.com
🧭 API Testing · Chương 2 · Mục 2.5

Test API loại DELETE — xoá thật, và xử lý khi gọi lại

🎯 Mục tiêu học: xác nhận dữ liệu thực sự bị xoá (hoặc chuyển đúng trạng thái nếu là soft-delete), và test đúng hành vi khi gọi lại DELETE lần 2 trên cùng tài nguyên.

Ví dụ minh hoạ

DELETE https://api.example.com/v1/orders/ORD1003
Response: 204 No Content

Gọi lại DELETE lần 2 trên cùng orderId:
Response kỳ vọng: 404 Not Found
(không phải 204 "thành công" lần nữa — nếu API vẫn trả 204 ở lần gọi thứ 2,
đây là dấu hiệu hệ thống không kiểm tra tài nguyên còn tồn tại trước khi xoá)

Checklist test cho DELETE — nhóm theo 7 kịch bản (xem Mục 2.1)

1. Happy path

Mã TCNội dungKỳ vọng
TC-DEL-01Xoá thành công 1 orderId hợp lệ đang tồn tạiTrả 204; gọi GET lại tài nguyên đó trả 404

2. Dữ liệu bắt buộc

Mã TCNội dungKỳ vọng
TC-DEL-02Không áp dụng — DELETE thường không có body, chỉ có orderId trên path (đã xét ở nhóm 3)

3. Định dạng & kiểu dữ liệu

Mã TCNội dungKỳ vọng
TC-DEL-03orderId trên path sai định dạng (vd chứa ký tự đặc biệt, không đúng pattern ORDxxxx)Trả lỗi 400, không crash 500

4. Quy tắc nghiệp vụ & dữ liệu tham chiếu

Mã TCNội dungKỳ vọng
TC-DEL-04Xoá orderId không tồn tại từ đầuTrả 404
TC-DEL-05Xoá đơn hàng đang ở trạng thái COMPLETED (đã hoàn tất)Có thể cần trả lỗi nghiệp vụ (409 Conflict) thay vì cho xoá tuỳ tiện — xác nhận rule này với BA

5. Đặc thù DELETE (idempotent)

Mã TCNội dungKỳ vọng
TC-DEL-06Gọi DELETE lần 2 trên ID vừa xoá ở TC-DEL-01Trả 404 — không phải 204 'thành công' giả như đang xoá thêm lần nữa

6. Bảo mật & phân quyền

Mã TCNội dungKỳ vọng
TC-DEL-07Xoá orderId thuộc khách hàng khácBị từ chối, đơn hàng của khách khác không bị xoá

7. Response contract

Mã TCNội dungKỳ vọng
TC-DEL-08Kiểm tra response khi xoá thành côngĐúng 204 No Content, không kèm body; nếu hệ thống trả 200 thì phải có body rõ ràng, không để trống mập mờ

📌 Ghi nhớ

Test DELETE không dừng ở "response trả về thành công" — luôn gọi thêm GET để xác nhận tài nguyên biến mất, và gọi lại DELETE lần 2 để xem hệ thống phản ứng đúng chuẩn hay không.

📖 Thuật ngữ Anh–Việt (mục này)

Đề thi dùng thuật ngữ tiếng Anh — nhớ đúng cụm bên trái. Bấm 🔊 để nghe từng từ, hoặc "Đọc tất cả" để nghe lần lượt Anh → (vài giây) → Việt.

Thuật ngữ (EN)Nghĩa & ghi nhớ nhanh
Soft deleteXoá mềm — đánh dấu trạng thái đã xoá thay vì xoá vật lý khỏi DB
204 No ContentStatus code chuẩn cho thao tác thành công nhưng không có nội dung trả về
409 ConflictStatus code cho biết request hợp lệ nhưng xung đột với trạng thái hiện tại của tài nguyên

📎 Nội dung do maiqai.com biên soạn — endpoint và dữ liệu trong ví dụ chỉ mang tính minh hoạ, không thuộc hệ thống thật nào.