Guest User

Untitled

a guest
Jun 19th, 2018
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. test('login form submits', async () => {
  2. const fakeUser = { username: 'jackiechan', password: 'hiya! 🥋' };
  3. const handleLogin = {
  4. emit: jest.fn(),
  5. };
  6.  
  7. const { container, getByLabelText, getByText } = await createComponent(
  8. {
  9. component: LoginFormComponent,
  10. parameters: {
  11. handleLogin: handleLogin as any,
  12. },
  13. },
  14. {
  15. declarations: [LoginFormComponent],
  16. imports: [ReactiveFormsModule],
  17. },
  18. );
  19.  
  20. const usernameNode = getByLabelText(/username/i) as HTMLInputElement;
  21. const passwordNode = getByLabelText(/password/i) as HTMLInputElement;
  22. const submitButtonNode = getByText(/submit/i);
  23. const formNode = container.querySelector('form');
  24.  
  25. usernameNode.value = fakeUser.username;
  26. fireEvent.input(usernameNode);
  27.  
  28. passwordNode.value = fakeUser.password;
  29. fireEvent.input(passwordNode);
  30.  
  31. fireEvent.submit(formNode);
  32.  
  33. expect(handleLogin.emit).toHaveBeenCalledTimes(1);
  34. expect(handleLogin.emit).toHaveBeenCalledWith(fakeUser);
  35. expect(submitButtonNode.type).toBe('submit');
  36. });
Add Comment
Please, Sign In to add comment