// __tests__/LoginForm.test.jsx
import React from 'react';
import { render, screen, fireEvent, waitFor } from '@testing-library/react';
import LoginForm from '../LoginForm';
describe('LoginForm', () => {
it('logs in the user with valid credentials', async () => {
render(<LoginForm />);
fireEvent.change(screen.getByLabelText(/email/i), {
target: { value: 'test@lastingdynamics.com' }
});
fireEvent.change(screen.getByLabelText(/password/i), {
target: { value: 'securePassword123' }
});
fireEvent.click(screen.getByRole('button', { name: /login/i }));
await waitFor(() =>
expect(screen.getByText(/welcome, test@lastingdynamics.com/i)).toBeInTheDocument()
);
});
});
// Button.test.jsx
import { render, screen } from '@testing-library/react';
import Button from '../Button';
test('renders button with label', () => {
render(<Button label="Click Me" />);
expect(screen.getByText(/click me/i)).toBeInTheDocument();
});