Summary
This ticket tracks the creation of a new test suite for the classic Neo.button.Base component, located at test/siesta/tests/classic/Button.mjs. This test suite mirrors the structure and assertions of the test for the new Neo.functional.button.Base.
Motivation
As the framework evolves to include both classic (class-based) and functional components, it is crucial to ensure that their public APIs and reactive behaviors are consistent. When a user switches from a classic button to a functional one (or vice-versa), the component should behave identically from an external perspective.
By creating a parallel test suite for the classic button that is a direct counterpart to the functional button's test, we can:
- Verify API Consistency: Ensure that setting configs like
text, iconCls, and pressed produces the same VDOM delta outcomes.
- Prevent Regressions: Establish a baseline for the behavior of both component types, guarding against future changes that might cause them to diverge.
- Improve Confidence: Provide confidence that both component models are equally robust and reliable.
The successful passing of both test suites confirms that the abstraction holds and that both button implementations are aligned.
Scope
- Create
test/siesta/tests/classic/Button.mjs
- Details: The file will contain a Siesta test suite for
Neo.button.Base.
- The tests will be adapted from
test/siesta/tests/functional/Button.mjs to target the classic button.
- Assertions will verify initial VNode structure and the precise VDOM deltas generated on config changes.
Acceptance Criteria
- The test file
test/siesta/tests/classic/Button.mjs is created and added to the repository.
- The test suite within this file passes completely.
- The tests successfully validate that
Neo.button.Base produces the same VDOM deltas as its functional counterpart for identical operations.
Summary
This ticket tracks the creation of a new test suite for the classic
Neo.button.Basecomponent, located attest/siesta/tests/classic/Button.mjs. This test suite mirrors the structure and assertions of the test for the newNeo.functional.button.Base.Motivation
As the framework evolves to include both classic (class-based) and functional components, it is crucial to ensure that their public APIs and reactive behaviors are consistent. When a user switches from a classic button to a functional one (or vice-versa), the component should behave identically from an external perspective.
By creating a parallel test suite for the classic button that is a direct counterpart to the functional button's test, we can:
text,iconCls, andpressedproduces the same VDOM delta outcomes.The successful passing of both test suites confirms that the abstraction holds and that both button implementations are aligned.
Scope
test/siesta/tests/classic/Button.mjsNeo.button.Base.test/siesta/tests/functional/Button.mjsto target the classic button.Acceptance Criteria
test/siesta/tests/classic/Button.mjsis created and added to the repository.Neo.button.Baseproduces the same VDOM deltas as its functional counterpart for identical operations.