Тестирование React Jest на Submit с использованием Javascript

#javascript #reactjs #react-redux #jestjs #enzyme

#язык JavaScript #реагирует на #реагировать-переделывать #jestjs #фермент

Вопрос:

Я создал форму входа в систему в React. Эта форма содержит имя пользователя, пароль в качестве входных данных. Кроме того, я добавил кнопку. Теперь мне нужно написать модульный тест для нажатия кнопки (handleLogin). У кого-нибудь могут быть мысли или рекомендации?

Ниже приведен пример кода,

Код JS

 handleLogin = (e) =gt; {  e.preventDefault();  this.setState({  spinner: !this.state.spinner,  });   let userName = e.target.userEmail.value;  let password = e.target.userPassword.value;  let userData = { userName, password };  let config = {  headers: {  "Access-Control-Allow-Origin": "*",  "Content-Type": "application/json",  },  };   axios  .post(BASE_URL   "/login", userData, config)  .then((res) =gt; {  localStorage.clear();  if (res.data.message) {  this.setState({  errorMessage: res.data.message,  spinner: false,  });  } else if (res.data.newPasswordRequired) {  this.props.signInUser({  isUserLoggedIn: false,  currentUser: e.target.userEmail.value,  bearerToken: "",  userDisplayName: "",  userRole: "",  });  this.props.history.push({  pathname: CREATE_PASSWORD,  password: e.target.userPassword.value,  });  }  })  .catch((err) =gt; {  console.log(err.response?.data);  this.setState({  errorMessage: "Incorrect username or password.",  spinner: false,  });  }); };  

HTML-код

 render(){  return (  lt;divgt;  lt;form className="signIn__form" onSubmit={this.handleLogin}gt;  lt;Input  type="email"  name="userEmail"  placeholder="Email"  /gt;  lt;Input  type="password"  name="userPassword"  placeholder="Password"  /gt;  lt;/formgt;  lt;/divgt;  )  }