Skip to content

Commit

Permalink
Merge pull request #333 from SWE574-Fall2023-Group1/feature/332-unit-…
Browse files Browse the repository at this point in the history
…test-for-register-page

Add Register Unit Test #332
  • Loading branch information
aykutkantas authored Dec 23, 2023
2 parents 29d14e8 + 01e835a commit ccc0613
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 3 deletions.
6 changes: 3 additions & 3 deletions backend/frontend/src/pages/landing/Login.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ import axios from 'axios';
import { MemoryRouter } from 'react-router-dom';
import Login from './Login';

// Mock Axios

jest.mock('axios');

// Mock react-router-dom

jest.mock('react-router-dom', () => {
const originalModule = jest.requireActual('react-router-dom');

Expand All @@ -30,7 +30,7 @@ describe('Login component', () => {
</MemoryRouter>
);
expect(screen.getByText('Every Memory Counts:')).toBeInTheDocument();
// ... rest of your assertions

});

test('calls axios.post with correct credentials on form submission', async () => {
Expand Down
55 changes: 55 additions & 0 deletions backend/frontend/src/pages/landing/Register.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
import React from 'react';
import { render, fireEvent, waitFor } from '@testing-library/react';
import axios from 'axios';
import Register from './Register';
import '@testing-library/jest-dom';
import { MemoryRouter } from 'react-router-dom';

jest.mock('axios');

describe('Register component', () => {
test('renders without crashing', () => {
render(<MemoryRouter>
<Register />
</MemoryRouter>)
});

test('handles form submission correctly', async () => {

axios.post.mockResolvedValue({ data: { message: 'Registration successful' } });

const { getByLabelText, getByText } = render(<MemoryRouter>
<Register />
</MemoryRouter>)

fireEvent.change(getByLabelText('Username'), { target: { value: 'testuser' } });
fireEvent.change(getByLabelText('E-Mail'), { target: { value: '[email protected]' } });
fireEvent.change(getByLabelText('Password'), { target: { value: 'password123' } });
fireEvent.change(getByLabelText('Password Again'), { target: { value: 'password123' } });


fireEvent.click(getByText('Create Account'));

await waitFor(() => expect(axios.post).toHaveBeenCalledTimes(1));

expect(getByText('Login')).toBeInTheDocument();
});

test('handles password mismatch correctly', () => {
const { getByLabelText, getByText } = render(<MemoryRouter>
<Register />
</MemoryRouter>)


fireEvent.change(getByLabelText('Username'), { target: { value: 'testuser' } });
fireEvent.change(getByLabelText('E-Mail'), { target: { value: '[email protected]' } });
fireEvent.change(getByLabelText('Password'), { target: { value: 'password123' } });
fireEvent.change(getByLabelText('Password Again'), { target: { value: 'password456' } });


fireEvent.click(getByText('Create Account'));


expect(getByText("Create Account")).toBeInTheDocument();
});
});

0 comments on commit ccc0613

Please sign in to comment.