This ticket is to create a new Playwright-based component test for Neo.form.field.Password.
This test plan was generated using the AI-Native workflow defined in the "Cookbook Epic" and will serve as the acceptance criteria for the implementation. The test should be created in a new file test/playwright/component/form/field/Password.spec.mjs and follow the "Empty Viewport" architecture.
Component Analysis
The Neo.form.field.Password component extends Neo.form.field.Text and only overrides the inputType configuration to set it to 'password'. This means it inherits all functionality from the text field but renders as a password input type, which masks user input.
Acceptance Criteria
1. Inherited Behavior Tests (from Neo.form.field.Text)
2. Password-Specific Feature Tests
3. Accessibility Tests
4. Security Considerations
5. Integration Tests
Test Implementation Notes
- Use Playwright's
page.locator() to target the password input element specifically
- Verify password masking by checking that the displayed value differs from the actual value
- Test both programmatic value setting and user input scenarios
- Ensure tests run in isolated viewports to prevent interference
File Location
The test should be created at: test/playwright/component/form/field/Password.spec.mjs
This ticket is to create a new Playwright-based component test for
Neo.form.field.Password.This test plan was generated using the AI-Native workflow defined in the "Cookbook Epic" and will serve as the acceptance criteria for the implementation. The test should be created in a new file
test/playwright/component/form/field/Password.spec.mjsand follow the "Empty Viewport" architecture.Component Analysis
The
Neo.form.field.Passwordcomponent extendsNeo.form.field.Textand only overrides theinputTypeconfiguration to set it to'password'. This means it inherits all functionality from the text field but renders as a password input type, which masks user input.Acceptance Criteria
1. Inherited Behavior Tests (from Neo.form.field.Text)
disabled: trueadds the.neo-disabledclass, prevents user interaction, and disables the input element.hidden: trueremoves the component from the DOM (using the defaultremoveDomhideMode).isDirtyflag is correctly set when the value changes from its original value.clearable: true. Test that clicking the trigger clears the value.labelPositionapplies the correct.label-[position]class. ForlabelPosition: 'inline', test that the label animation works correctly on focus and when content is present..neo-invalidclass and that an error message is displayed..neo-focusand.neo-hoveredclasses are applied correctly on user interaction.2. Password-Specific Feature Tests
type="password"attribute set.3. Accessibility Tests
4. Security Considerations
autocompleteattributes are set (e.g.,autocomplete="current-password"orautocomplete="new-password").5. Integration Tests
Test Implementation Notes
page.locator()to target the password input element specificallyFile Location
The test should be created at:
test/playwright/component/form/field/Password.spec.mjs