changement test items

This commit is contained in:
Victor 2024-05-13 21:23:40 +02:00
parent 560226b6a8
commit 05b0a4514b

View File

@ -1,35 +1,78 @@
/*import { describe, it, expect, beforeEach, vi, afterEach } from "vitest";
import { describe, it, vi, expect, beforeEach, afterEach } from "vitest";
import { render, fireEvent, screen, cleanup } from "@testing-library/react";
import { Login } from "../../../src/pages/index.js";
import { ItemPage } from "../../../src/components/item/ItemPage.jsx"; // Assurez-vous d'importer correctement votre composant
import { AuthenticationContext } from "../../../src/contexts/index.js";
describe('Items Page', () => {
describe("Item Page with Authentication", () => {
let rooms;
beforeEach(() => {
// Se connecter à l'application avec le compte pseudo : Juvisi!0TEST et mdp : Juvisi!0TEST
cy.visit('/');
cy.findByPlaceholderText('username').type('Juvisi!0TEST');
cy.findByPlaceholderText('password').type('Juvisi!0TEST');
cy.findByText('submit').click();
// Vérifier que la connexion est réussie et que vous êtes redirigé vers la page '/items'
cy.findByText('Welcome Juvisi!0TEST').should('exist');
// Simuler la connexion de l'utilisateur
const user = { username: "Juvisi!0TEST", password: "Juvisi!0TEST" };
const loginFunction = vi.fn().mockResolvedValue(user); // Mock de la fonction de connexion
rooms = [{ _id: "66425c9d8869396c3e853633", name: "test" }];
render(
<AuthenticationContext.Provider value={{ login: loginFunction }}>
<ItemPage />
</AuthenticationContext.Provider>,
);
});
it('creates an item', () => {
// Créer un nouvel item
cy.findByPlaceholderText('Item name').type('New Item');
cy.findByText('Add Item').click();
afterEach(cleanup); // Nettoyer après chaque test pour éviter les fuites de mémoire
it("renders without errors", () => {
expect(screen.getByTestId("item-container")).toBeTruthy();
});
it('verifies the item is created', () => {
// Vérifier que l'élément est ajouté à la liste
cy.findByText('New Item').should('exist');
});
/*it('allows filtering items', async () => {
// Simuler une saisie dans le champ de recherche par nom
fireEvent.change(screen.getByLabelText('Search by name:'), { target: { value: 'Item' } });
// Attendre que les éléments filtrés soient rendus dans la liste
await screen.findByText('Filtered Item');
});*/
it('deletes the item', () => {
// Supprimer l'élément
cy.findByText('New Item').siblings('button').click();
});
});
/*it('allows creating an item', async () => {
// Simuler un clic sur le bouton "Create Item"
fireEvent.click(screen.getByTestId('create-item-button'));
// Attendre que le modal de création d'élément s'ouvre
await screen.findByTestId('create-item-button');
// Simuler une saisie dans les champs du formulaire de création d'élément
fireEvent.change(screen.getByTestId("create-item-Brand-Input"), { target: { value: 'Brand X' } });
fireEvent.change(screen.getByTestId("create-item-Model-Input"), { target: { value: 'Model Y' } });
// Simuler un clic pour ouvrir le menu déroulant
fireEvent.mouseDown(screen.getByTestId("create-item-Room-Select"));
// Attendre que les options du menu déroulant soient rendues
await screen.findByText('test');
// Simuler un clic pour choisir l'option "test"
fireEvent.click(screen.getByText('test'));
*/ //impossible de tester car element pas encore terminé
// Simuler un clic sur le bouton "Submit" du formulaire
fireEvent.click(screen.getByText('Submit'));
// Attendre que l'élément soit ajouté à la liste
await screen.findByText('Brand X');
await screen.findByText('Model Y');
});*/
/*it('allows updating an item', async () => {
// Simuler un clic sur le bouton "Edit" de l'élément à mettre à jour
fireEvent.click(screen.getByText('Edit'));
// Attendre que le modal de mise à jour de l'élément s'ouvre
await screen.findByText('Update Item');
// Simuler une saisie dans les champs du formulaire de mise à jour d'élément
fireEvent.change(screen.getByLabelText('Brand'), { target: { value: 'Updated Brand' } });
fireEvent.change(screen.getByLabelText('Model'), { target: { value: 'Updated Model' } });
// Simuler un clic sur le bouton "Submit" du formulaire de mise à jour
fireEvent.click(screen.getByText('Submit'));
// Attendre que l'élément mis à jour soit affiché dans la liste
await screen.findByText('Updated Brand Updated Model');
});*/
/*it('allows deleting an item', async () => {
// Simuler un clic sur le bouton "Delete" de l'élément à supprimer
fireEvent.click(screen.getByText('Delete'));
// Attendre que l'élément soit supprimé de la liste
await screen.findByText('Updated Brand Updated Model', { timeout: 5000, shouldNotExist: true });
});*/
});