Skip to content

[Remove Vuetify from Studio] Convert Content Library unit tests to Vue Testing Library #5527

@MisRob

Description

@MisRob

🙂 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 #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 #5526.

Guidance

  • Navigate to the Content Library (aka Catalog List) and understand its functionality
    • Login as [email protected] with password a
    • Go to Channels > Content Library
    • Click Download a summary of selected channels
    • Log out
    • Click Explore without an account
  • 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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions