[Remove Vuetify from Studio] Convert Content Library unit tests to Vue Testing Library
🙂 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.
Sub-issue of https://github.com/learningequality/studio/issues/5060.
Complexity: Low
Summary
The test suite views/Channel/__tests__/catalogList.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)
Refactor the test suite to use Vue Testing Library (VTL), which enforces testing components the way users interact with them.
Value Add
Prepares the test suite for easier updates during the upcoming refactoring to remove Vuetify from the Content Library, for example https://github.com/learningequality/studio/issues/5526.
Guidance
- Navigate to the Content Library (aka Catalog List) and understand its functionality
- Login as
[email protected]with passworda - Go to Channels > Content Library
- Click Download a summary of selected channels
- Log out
- Click Explore without an account
- Login as
- In the test suite, cover all major workflows while avoiding excessive testing of details
- Familiarize yourself with Testing Library principles
- Follow our Unit testing guide and Testing template, where you will also find how we mock router, store, composables, and more.
- Follow Testing Library query priority recommendation
- Search for
from '@testing-library/vue'to find existing VTL test suites
Hii @MisRob, I wanted to work on this issue as well. Please assign this to me.Thanks
Thank you @vtushar06
Hii @MisRob, I just raised PR for this issue, can you look into that, and suggest if any more changes are needed.
Thank you @vtushar06 we will have someone take a look at it