bytechefhq / bytechefhq/bytechef
[test] Add a test suite for the Properties feature
- Dominant language
- Java
- Stars
- 1k
- Forks
- 170
- Avg merge
- 11h 25m
- Merged PRs (30d)
- 115
Description
# Property Feature Playwright Testing Plan
## Overview
This ticket tracks the implementation of comprehensive Playwright E2E tests for the Property feature in the workflow editor. The Property feature is responsible for configuring workflow node parameters and supports multiple input types, nested structures (arrays/objects), display conditions, validation, and integration with workflow definitions.
**Priority Focus**: Most regressions occur at the component-level interaction layer, so those tests are prioritized after the critical workflow definition persistence tests.
### E2E User Flows
- [ ] **`propertyBehaviours.spec.ts`** - End-to-end user flows
- [ ] Complete workflow node configuration flows
- [ ] Switching between nodes and preserving property state
- [ ] Complex workflows with multiple property types
- [ ] Integration with workflow save/load
## Key Testing Requirements
1. **Fixtures**: Use `mergeTests(loginTest(), projectTest, workflowTest)` for all tests
2. **Workflow Definition**: Parse `workflow.definition` JSON to verify property values
3.. **Selectors**: Use data-testid attributes where possible, fallback to accessible selectors
4. **Error Handling**: Test both success and failure scenarios for saves
5. **Async Operations**: Use `page.waitForResponse()` to wait for mutation calls
## Success Criteria
- ✅ All property types can be read from workflow definition
- ✅ All property types can be saved to workflow definition
- ✅ All validation rules are tested
- ✅ All input type switches work correctly
- ✅ Nested structures (objects/arrays) work correctly
- ✅ Display conditions work correctly
- ✅ E2E flows complete successfully
## Notes
- Most regressions occur at the component-level interaction layer
- Workflow definition read/write tests are the highest priority as they ensure data integrity
- Tests should verify both UI state and workflow definition JSON state
- Consider edge cases: empty values, null values, special characters, very long strings
Contributor guide
Assessment
This issue has not been assessed yet.