MovieGender.spec.ts 1.14 KB
//#region --Import--.
import { describe, expect, it } from "vitest";
import { mount } from "@vue/test-utils";
import MovieGender from "../../components/details/MovieGender.vue";
import type { Genre } from "~/interfaces/movie";
//#endregion

describe("MovieGender", () => {
  it("affiche correctement les genres", () => {
    // Données de test.
    const genres: Genre[] = [
      { id: 1, name: "Action" },
      { id: 2, name: "Comédie" },
      { id: 3, name: "Drame" },
    ];
    // Monter le composant avec sa props.
    const wrapper = mount(MovieGender, {
      props: {
        genres,
      },
    });
    // Vérifier que tous les genres sont affichés.
    const spanElements = wrapper.findAll("span");
    // spanElements.length doit être égal aux données de test (genres.length).
    expect(spanElements.length).toBe(genres.length);

    // Vérifier le contenu affiché de chaque élément.
    spanElements.forEach((spanElement, index) => {
      // Sur chaque itération d'élément (span), vérification que le nom du genre correspondant soit bien affiché.
      expect(spanElement.text()).toContain(genres[index].name);
    });
  });
});