bytechefhq / bytechefhq/bytechef

[test] Add a test suite for the Properties feature

Open
#3,932 0 comments 0 reactions 1 assignee Assigned to @kresimir-coko View on GitHub
fe-test frontend task
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.