Email: Tests
| Mã | Cách kiểm | Trạng thái |
|---|---|---|
| NOTIF-EMAIL-01 | Không có gác cấm env.EMAIL.send ngoài send.ts; kiểm tay: grep -rn "EMAIL.send" api.conan.school/src chỉ ra send.ts | Chưa có gác |
| NOTIF-EMAIL-02 | Kiểm tay đăng nhập ở tokyo; nhánh 503 chỉ đọc mã | Chưa có |
| NOTIF-EMAIL-03 | Đọc mã auditCopyAppliesTo(); không có test khẳng định login_code không bao giờ có bản sao | Chưa có gác (đáng có: đây là ranh giới bảo mật) |
| NOTIF-EMAIL-04 | Đọc mã: fireEmail nằm trong activateToMaster() | Chưa có |
| NOTIF-EMAIL-05 | Đọc mã reminders.ts; kiểm tay bằng SELECT COUNT(*), COUNT(DISTINCT recipient) FROM email_deliveries WHERE kind='event_reminder' AND audit_of IS NULL | Chưa có gác |
| NOTIF-EMAIL-06 | Khoá chạy một lần do ràng buộc khoá chính của daily_email_runs (CSDL cưỡng chế); kiểm tay cùng truy vấn COUNT vs COUNT(DISTINCT) | Chưa có test; cơ chế nằm ở CSDL |
| NOTIF-EMAIL-07 | npm run test:email: primary chỉ ở nút, cấm hex 8 ký tự, tối thiểu ba bgcolor; npm run check:token-sync cho EMAIL_PALETTE. Tràn ngang ở 375px: kiểm tay (scrollWidth === clientWidth) | Có gác một phần; 375px chưa có |
| NOTIF-EMAIL-08 | Kiểm tay hộp thư người vận hành | Chưa có |
| NOTIF-EMAIL-09 | npm run test:email: bảng tên mẫu cho tenGoi(), tiêu đề dự phòng | Có gác |
Gác dùng chung: npm run typecheck của api (cổng tuyệt đối), npm run check:emdash.
Khoảng trống
- NOTIF-EMAIL-03 là ranh giới bảo mật chỉ được giữ bằng mã và chú thích. Một test một dòng (
auditCopyAppliesTo('login_code') === falsevới mọimode) sẽ đóng nó. - Không có gác nào cấm gọi thẳng
env.EMAIL.sendở domain (LUẬT EMAIL chưa có máy thi hành). - Chống gửi trùng (05, 06) không có test đồng thời; nó dựa vào CSDL, đúng theo LUẬT VÒNG CHẠY TỰ ĐỘNG.