IMPORTANT: The file content has been truncated. Status: Showing lines 100-120 of 320 total lines. Action: To read more of the file, you can use the 'start_line' and 'end_line' parameters in a subsequent 'read_file' call. For example, to read the next section of the file, use start_line: 121. --- FILE CONTENT (truncated) --- viewModel.onEvent(ReportBugEvent.SummaryChanged("Problem")) viewModel.onEvent(ReportBugEvent.DescriptionChanged("It crashes")) assertThat(viewModel.state.value.canSubmit).isTrue() viewModel.onEvent(ReportBugEvent.ContactEmailChanged("invalid-email")) assertThat(viewModel.state.value.canSubmit).isFalse() assertThat(viewModel.state.value.isEmailInvalid).isTrue() viewModel.onEvent(ReportBugEvent.ContactEmailChanged("test@example.com")) assertThat(viewModel.state.value.canSubmit).isTrue() assertThat(viewModel.state.value.isEmailInvalid).isFalse() } @Test fun `submit should navigate back on success without showing snackbar`() = runTest { every { sentryWrapper.isEnabled() } returns true viewModel = createViewModel() viewModel.onEvent(ReportBugEvent.SummaryChanged("Summary")) viewModel.onEvent(ReportBugEvent.DescriptionChanged("Description"))