Giao diện
@digiforce-nc/plugin-workflow-test
Plugin cung cấp test utilities cho workflow, mở rộng plugin-workflow. Bao gồm mock trigger, test helpers, và assertion utilities giúp viết test tự động cho các workflow.
Plugin này làm gì?
Plugin Workflow Test cung cấp bộ công cụ để kiểm thử workflow trong môi trường development và CI/CD. Bao gồm mock trigger (giả lập kích hoạt), test helpers (tạo workflow context test), và utilities kiểm tra kết quả thực thi.
Plugin này KHÔNG đăng ký node mới trong workflow editor. Thay vào đó, nó cung cấp:
- API để trigger workflow trong test environment
- Mock cho các external dependency (HTTP, email, ...)
- Assertion helpers kiểm tra kết quả workflow
Cấu hình
| Tham số | Kiểu | Mô tả |
|---|---|---|
mockTriggers | array | Danh sách trigger cần mock |
testData | object | Dữ liệu test mặc định |
timeout | number | Timeout cho mỗi test case (ms) |
verbose | boolean | Ghi log chi tiết quá trình thực thi |
Input / Output
| Hướng | Dữ liệu | Mô tả |
|---|---|---|
| Input | workflowKey | Key của workflow cần test |
| Input | triggerData | Dữ liệu giả lập cho trigger |
| Input | mockResponses | Giả lập response cho HTTP request nodes |
| Output | execution | Chi tiết thực thi: nodes đã chạy, thời gian |
| Output | result | Kết quả cuối cùng của workflow |
| Output | nodeResults | Kết quả từng node riêng lẻ (để assert chi tiết) |
Tính năng chính
| # | Tính năng | Chi tiết |
|---|---|---|
| 1 | Mock trigger | Giả lập trigger mà không cần UI hoặc webhook thật |
| 2 | Test data | Chuẩn bị dữ liệu test cho workflow |
| 3 | Mock HTTP | Giả lập response cho node HTTP request |
| 4 | Assertion | Kiểm tra kết quả workflow, từng node, biến context |
| 5 | CI/CD | Chạy test tự động trong pipeline |
| 6 | Verbose log | Log chi tiết từng bước thực thi để debug |
Trường hợp sử dụng
| # | Kịch bản | Mô tả |
|---|---|---|
| 1 | Unit test workflow | Test từng workflow với input/output mong đợi |
| 2 | Integration test | Test workflow kết nối nhiều node end-to-end |
| 3 | Regression test | Đảm bảo workflow không bị break sau khi sửa code |
| 4 | CI pipeline | Chạy test suite workflow trong GitHub Actions / GitLab CI |
Lưu ý quan trọng
- Plugin này chỉ dùng trong môi trường development/test, không enable trên production
- Mock HTTP response phải match URL pattern của node HTTP Request
- Test database nên dùng database riêng (test DB) để không ảnh hưởng data thật
- Workflow có node Manual/Approval cần mock user action trong test
- Verbose mode ghi nhiều log - tắt đi khi chạy trong CI để giảm output
Dependencies
| Package | Vai trò |
|---|---|
@digiforce-nc/plugin-workflow | Workflow engine (peer) |
@digiforce-nc/server | Server framework (peer) |
@digiforce-nc/test | Test framework base (peer) |
@digiforce-nc/database | Database ORM (peer) |