## Description This PR adds integration tests for the Quick Lead workflow, including a complete end-to-end test with full workflow execution. ### Key Changes 1. **Enabled SyncDriver for integration tests** - Jobs are now processed synchronously in tests - Modified `create-app.ts` to use `SyncDriver` instead of `BullMQ` - Added `MessageQueueExplorer` to discover and register workflow job handlers - This enables complete workflow execution in integration tests 2. **Added integration tests for Quick Lead workflow**: - Verify workflow exists and is active - Verify workflow version has correct structure (MANUAL trigger, FORM step, CREATE_RECORD steps) - Test workflow triggering creates workflow run with correct initial state - Test stop workflow run on a running workflow - **Full end-to-end test**: trigger → submit form → verify Company and Person records created ### Test Coverage The complete end-to-end test verifies: - Workflow triggers and is in RUNNING status (waiting on FORM step) - Form submission with test data succeeds - Workflow completes successfully with all steps in SUCCESS status - Company record is created with correct name and domain - Person record is created with correct name and email - Records are properly cleaned up after test ### How to Run Tests ```bash npx nx run twenty-server:test:integration -- --testPathPattern="quick-lead-workflow" ``` Or with database reset: ```bash npx nx run twenty-server:test:integration:with-db-reset -- --testPathPattern="quick-lead-workflow" ```
28 lines
379 B
TypeScript
28 lines
379 B
TypeScript
export const WORKFLOW_GQL_FIELDS = `
|
|
id
|
|
name
|
|
lastPublishedVersionId
|
|
statuses
|
|
position
|
|
createdBy {
|
|
source
|
|
workspaceMemberId
|
|
name
|
|
}
|
|
createdAt
|
|
updatedAt
|
|
deletedAt
|
|
`;
|
|
|
|
export const WORKFLOW_RUN_GQL_FIELDS = `
|
|
id
|
|
name
|
|
status
|
|
startedAt
|
|
endedAt
|
|
createdAt
|
|
updatedAt
|
|
workflowVersionId
|
|
state
|
|
`;
|