From 126b34fda46607a101e779fa8bb46785f0169ebc Mon Sep 17 00:00:00 2001 From: Siklos Date: Sat, 6 Aug 2022 15:24:01 +0200 Subject: [PATCH] Added Sidebar test --- src/Components/Sidebar/Sidebar.test.tsx | 53 ++++++++++++++++++++++--- 1 file changed, 47 insertions(+), 6 deletions(-) diff --git a/src/Components/Sidebar/Sidebar.test.tsx b/src/Components/Sidebar/Sidebar.test.tsx index c17f48e..3613fc8 100644 --- a/src/Components/Sidebar/Sidebar.test.tsx +++ b/src/Components/Sidebar/Sidebar.test.tsx @@ -1,19 +1,60 @@ import * as React from 'react'; -import { describe, test, expect } from 'vitest'; -import { render, screen } from '../../utils/test-utils'; +import { describe, test, expect, vi } from 'vitest'; +import { findByText, fireEvent, render, screen } from '../../utils/test-utils'; import Sidebar from './Sidebar'; -describe('Sidebar test', () => { - test('Start empty', () => { +describe.concurrent('Sidebar open', () => { + it('Start default', async() => { + const handleClick = vi.fn(); render( {}} + onClick={handleClick} buttonOnClick={() => {}} /> ); + const stuff = screen.queryByText(/stuff/i); + const close = screen.getByText(/close/i); - expect(screen.getByText(/Components/i)).toBeDefined(); + expect(screen.getByText(/Components/i).classList.contains('left-0')).toBeDefined(); + expect(stuff).toBeNull(); + fireEvent.click(close); + expect(handleClick).toHaveBeenCalledTimes(1); + }); + + it('Start close', async() => { + render( {}} + buttonOnClick={() => {}} + />); + + const stuff = screen.queryByText(/stuff/i); + expect(screen.getByText(/Components/i).classList.contains('-left-64')).toBeDefined(); + expect(stuff).toBeNull(); + }); + + it('With stuff', async() => { + const handleButtonClick = vi.fn(); + render( {}} + buttonOnClick={handleButtonClick} + />); + const stuff = screen.getByText(/stuff/i); + + expect(stuff).toBeDefined(); + fireEvent.click(stuff); + expect(handleButtonClick).toHaveBeenCalledTimes(1); }); });