Could you implement JUnit5 tests for the following class:
package com.app.silentusApp.presentation.forgotpassword

import android.util.Log
import androidx.compose.runtime.mutableStateOf
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.app.silentusApp.network.user.UserRepository
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
import javax.inject.Inject

@HiltViewModel
class ForgotPasswordViewModel @Inject constructor(
 private val userRepository: UserRepository
) : ViewModel() {

 enum class EmailError {
 NoError,
 NoEmail,
 }
 private val \_email = MutableStateFlow("")
 val \_emailError = MutableStateFlow(EmailError.NoError)
 val email: StateFlow = \_email
 val emailError: StateFlow = \_emailError

 fun onClickSubmit() {
 val email = \_email.value
 if (email.isEmpty()) {
 \_emailError.value = EmailError.NoEmail
 return;
 }
 \_emailError.value = EmailError.NoError
 viewModelScope.launch {
 val status = userRepository.remindPassword(email).status
 Log.i("REMIND\_PASSWORD\_STATUS", "$status $email")
 /\* To implement after handle API response error. \*/
 }
 }

 fun onEmailChange(it: String) {
 \_email.value = it
 \_emailError.value = EmailError.NoError
 }
}
user