-
Notifications
You must be signed in to change notification settings - Fork 269
Description
🙂 Looking for an issue? Welcome! This issue is open for contribution. If this is the first time you’re requesting an issue, please:
- Read Contributing guidelines carefully. Pay extra attention to Using generative AI. Pull requests and comments that don’t follow the guidelines won’t be answered.
- Confirm that you’ve read the guidelines in your comment.
Overview
Complexity: Low
Context
The test suite accounts/pages/__tests__/forgotPassword.spec.js currently relies heavily on internal implementation details and uses Vue Test Utils in a way that couples tests tightly to component internals. This creates several issues:
- Brittle and unreliable tests (break when implementation changes even if behavior remains correct, or incorrectly pass while actual user interactions fail)
- Maintenance burden (refactoring component's internal code requires updating tests)
Related page:
The Change
Refactor accounts/pages/__tests__/forgotPassword.spec.js test suite to use Vue Testing Library (VTL) and write tests in a way that reflects how a user interacts with the application.
Do not refactor any other areas of the codebase.
How to Get There
- Navigate to
/accounts/#/forgot-passwordURL - Submit the form with missing or invalid data
- Submit the form with correct data
Value Add
Prepares the test suite for easier updates during the upcoming refactoring to remove Vuetify from this page.
Out of Scope
Do not refactor any other areas of the codebase.
Acceptance Criteria
- Cover all major workflows while avoiding excessive testing of details
- Concise but explicit test decriptions that describe what's tested from a user point of view
- Follow Testing Library principles and Testing Library query priority recommendation
- Follow our Unit testing guide and Testing template, where you will also find how we mock router, store, composables, and more.
- Use patterns consistent with existing VTL test suites (search for
from '@testing-library/vue')
References
Sub-issue of #5060
