11import React from 'react' ;
2- import { render , fireEvent , screen } from '@testing-library/react' ;
2+ import { render , fireEvent , screen , getByPlaceholderText } from '@testing-library/react' ;
33import { ipcRenderer } from 'electron' ;
44import SignUp from '../../app/components/SignUp' ;
55import DashboardContextProvider from '../../app/context/DashboardContext' ;
66import { HashRouter as Router } from 'react-router-dom' ;
77
88jest . mock ( 'electron' , ( ) => ( { ipcRenderer : { sendSync : jest . fn ( ) } } ) ) ;
99
10- describe ( 'Create Admin Page' , ( ) => {
10+ describe ( 'Create Signup Page' , ( ) => {
1111 beforeEach ( ( ) => {
1212 render (
1313 < Router >
@@ -31,41 +31,17 @@ describe('Create Admin Page', () => {
3131 expect ( element . querySelectorAll ( 'input' ) . length ) . toBe ( 4 ) ;
3232 } ) ;
3333
34- it ( 'Sign up button should submit email, username, and password to addUser' , ( ) => {
35- const element = screen . getByTestId ( 'SignUp' ) ;
36- const inputs = element . querySelectorAll ( 'input' ) ;
37- inputs [ 0 ] . value = 'me' ;
38- inputs [ 1 ] . value = 'me@gmail.com' ;
39- inputs [ 2 ] . value = 'me123' ;
40- fireEvent . click ( element ) ;
41- expect ( ipcRenderer . sendSync ) . toHaveBeenCalledTimes ( 1 ) ;
42- // expect(ipcRenderer.sendSync).toHaveBeenCalledWith('addUser', {
43- // username: 'me',
44- // email: 'me@gmail.com',
45- // password: 'me123',
46- // });
47- } ) ;
48- } ) ;
34+ it ( 'Sign up button should submit email, username, and password to addUser' , async ( ) => {
35+ screen . debug ( ) ;
4936
50- // describe('handle submit function', () => {
51- // beforeEach(() => {
52- // render(
53- // <Router>
54- // <DashboardContextProvider>
55- // <SignUp />
56- // </DashboardContextProvider>
57- // </Router>
58- // );
59- // });
37+ const username = screen . getByPlaceholderText ( 'enter username' ) ;
38+ const email = screen . getByPlaceholderText ( 'your@email.here' ) ;
39+ const password = screen . getByPlaceholderText ( 'enter password' ) ;
40+ const signupButton = screen . getByRole ( 'signup' ) ;
6041
61- // it('should show error message when passwords don\'t match', () => {
62- // const element = screen.getByTestId('SignUp');
63- // const inputs = element.querySelectorAll('input');
64- // inputs[0].value = 'me';
65- // inputs[1].value = 'me@gmail.com';
66- // inputs[2].value = 'me123';
67- // inputs[3].value = 'me1234';
68- // fireEvent.submit(element);
69- // expect(screen.getByText('Entered passwords do not match')).toBeInTheDocument();
70- // })
71- // })
42+ fireEvent . change ( email , { target : { value : 'me@gmail.com' } } ) ;
43+ fireEvent . change ( username , { target : { value : 'me' } } ) ;
44+ fireEvent . change ( password , { target : { value : 'me123' } } ) ;
45+ fireEvent . click ( signupButton ) ;
46+ } ) ;
47+ } ) ;
0 commit comments