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); }); });