Skip to content
Snippets Groups Projects

feat(overlays): MIN-191 add possibility to login

Merged mateusz-winiarczyk requested to merge MIN-191-add-possibility-to-login into development
6 unresolved threads
7 files
+ 135
11
Compare changes
  • Side-by-side
  • Inline
Files
7
import { render, screen, fireEvent } from '@testing-library/react';
import { StoreType } from '@/redux/store';
import {
InitialStoreState,
getReduxWrapperWithStore,
} from '@/utils/testing/getReduxWrapperWithStore';
import { act } from 'react-dom/test-utils';
import { LoginModal } from './LoginModal.component';
const renderComponent = (initialStoreState: InitialStoreState = {}): { store: StoreType } => {
const { Wrapper, store } = getReduxWrapperWithStore(initialStoreState);
return (
render(
<Wrapper>
<LoginModal />
</Wrapper>,
),
{
store,
}
);
};
test('renders LoginModal component', () => {
renderComponent();
const loginInput = screen.getByLabelText(/login/i);
const passwordInput = screen.getByLabelText(/password/i);
expect(loginInput).toBeInTheDocument();
expect(passwordInput).toBeInTheDocument();
});
test('handles input change correctly', () => {
renderComponent();
const loginInput: HTMLInputElement = screen.getByLabelText(/login/i);
const passwordInput: HTMLInputElement = screen.getByLabelText(/password/i);
fireEvent.change(loginInput, { target: { value: 'testuser' } });
fireEvent.change(passwordInput, { target: { value: 'testpassword' } });
expect(loginInput.value).toBe('testuser');
expect(passwordInput.value).toBe('testpassword');
});
test('submits form', () => {
renderComponent();
const loginInput = screen.getByLabelText(/login/i);
const passwordInput = screen.getByLabelText(/password/i);
const submitButton = screen.getByText(/submit/i);
fireEvent.change(loginInput, { target: { value: 'testuser' } });
fireEvent.change(passwordInput, { target: { value: 'testpassword' } });
act(() => {
submitButton.click();
});
expect(submitButton).toBeDisabled();
});
Loading