diff --git a/apps/website/components/header-auth/header-auth.module.scss b/apps/website/components/header-auth/header-auth.module.scss deleted file mode 100644 index 45c2aa4..0000000 --- a/apps/website/components/header-auth/header-auth.module.scss +++ /dev/null @@ -1,7 +0,0 @@ -/* - * Replace this with your own classes - * - * e.g. - * .container { - * } -*/ diff --git a/apps/website/components/header-auth/header-auth.spec.tsx b/apps/website/components/header-auth/header-auth.spec.tsx deleted file mode 100644 index 342329e..0000000 --- a/apps/website/components/header-auth/header-auth.spec.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { render } from '@testing-library/react'; - -import HeaderAuth from './header-auth'; - -describe('HeaderAuth', () => { - it('should render successfully', () => { - const { baseElement } = render(); - expect(baseElement).toBeTruthy(); - }); -}); diff --git a/apps/website/components/header-auth/header-auth.tsx b/apps/website/components/header-auth/header-auth.tsx deleted file mode 100644 index b2eb853..0000000 --- a/apps/website/components/header-auth/header-auth.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import styles from './header-auth.module.scss'; -import {useRouter} from "next/router"; - -export function HeaderAuth() { - const router = useRouter(); - - const goBack = (event) => { - router.back(); - } - - return ( - - - - goBack(event)} - className="py-2.5 px-5 mr-2 mb-2 text-sm font-medium text-gray-900 focus:outline-none bg-white rounded-lg border border-gray-200 hover:bg-gray-100 hover:text-blue-700 focus:z-10 focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-700"> - Retour au site - - - - - - ); -} - -export default HeaderAuth; diff --git a/apps/website/components/header/header.spec.tsx b/apps/website/components/header/header.spec.tsx index 3fd19ff..6a63192 100644 --- a/apps/website/components/header/header.spec.tsx +++ b/apps/website/components/header/header.spec.tsx @@ -1,10 +1,26 @@ -import { render } from '@testing-library/react'; +import {render} from '@testing-library/react'; +import {SessionProvider, useSession} from "next-auth/react"; import Header from './header'; +jest.mock("next-auth/react", () => { + const originalModule = jest.requireActual('next-auth/react'); + const mockSession = { + expires: new Date(Date.now() + 2 * 86400).toISOString(), + user: { username: "admin" } + }; + return { + __esModule: true, + ...originalModule, + useSession: jest.fn(() => { + return {data: mockSession, status: 'authenticated'} // return type is [] in v3 but changed to {} in v4 + }), + }; +}); + describe('Header', () => { it('should render successfully', () => { - const { baseElement } = render(); + const {baseElement} = render(); expect(baseElement).toBeTruthy(); }); }); diff --git a/apps/website/components/header/header.tsx b/apps/website/components/header/header.tsx index 874091b..ca53371 100644 --- a/apps/website/components/header/header.tsx +++ b/apps/website/components/header/header.tsx @@ -15,21 +15,26 @@ export function Header({items = []}) { if (session == null) { return; } - console.log(session); }, [session]); useEffect(function mount() { const menuButton = document.getElementById('menu-dropdown-button'); const menuZone = document.getElementById('menu-dropdown'); - new Dropdown(menuZone, menuButton); + if (menuButton && menuZone) { + new Dropdown(menuZone, menuButton); + } const userButton = document.getElementById('user-menu-button'); const userZone = document.getElementById('user-dropdown'); - new Dropdown(userZone, userButton); + if (userButton && userZone) { + new Dropdown(userZone, userButton); + } const burgerButton = document.getElementById('menu-button'); const megaZone = document.getElementById('navbar-dropdown'); - new Collapse(megaZone, burgerButton); + if (burgerButton && megaZone) { + new Collapse(megaZone, burgerButton); + } }); const renderGenerateItem = (item, index, isActive = false) => { diff --git a/apps/website/components/layout/layout.spec.tsx b/apps/website/components/layout/layout.spec.tsx index 56e3b81..5bb3c54 100644 --- a/apps/website/components/layout/layout.spec.tsx +++ b/apps/website/components/layout/layout.spec.tsx @@ -2,6 +2,21 @@ import { render } from '@testing-library/react'; import Layout from './layout'; +jest.mock("next-auth/react", () => { + const originalModule = jest.requireActual('next-auth/react'); + const mockSession = { + expires: new Date(Date.now() + 2 * 86400).toISOString(), + user: { username: "admin" } + }; + return { + __esModule: true, + ...originalModule, + useSession: jest.fn(() => { + return {data: mockSession, status: 'authenticated'} // return type is [] in v3 but changed to {} in v4 + }), + }; +}); + describe('Layout', () => { it('should render successfully', () => { const { baseElement } = render(); diff --git a/apps/website/pages/index.spec.tsx b/apps/website/pages/index.spec.tsx new file mode 100644 index 0000000..bf2a526 --- /dev/null +++ b/apps/website/pages/index.spec.tsx @@ -0,0 +1,26 @@ +import React from 'react'; +import {render} from '@testing-library/react'; + +import Index from '../pages/index'; + +jest.mock("next-auth/react", () => { + const originalModule = jest.requireActual('next-auth/react'); + const mockSession = { + expires: new Date(Date.now() + 2 * 86400).toISOString(), + user: {username: "admin"} + }; + return { + __esModule: true, + ...originalModule, + useSession: jest.fn(() => { + return {data: mockSession, status: 'authenticated'} // return type is [] in v3 but changed to {} in v4 + }), + }; +}); + +describe('Index', () => { + it('should render successfully', () => { + const {baseElement} = render(); + expect(baseElement).toBeTruthy(); + }); +}); diff --git a/apps/website/specs/index.spec.tsx b/apps/website/specs/index.spec.tsx deleted file mode 100644 index 42c9402..0000000 --- a/apps/website/specs/index.spec.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import React from 'react'; -import { render } from '@testing-library/react'; - -import Index from '../pages/index'; - -describe('Index', () => { - it('should render successfully', () => { - const { baseElement } = render(); - expect(baseElement).toBeTruthy(); - }); -});