Skip to content

Commit 4427e89

Browse files
authored
fix: allowing empty team name when migrating [WPB-15092] (#3763)
1 parent df5ef14 commit 4427e89

File tree

3 files changed

+18
-2
lines changed

3 files changed

+18
-2
lines changed

app/src/main/kotlin/com/wire/android/ui/userprofile/teammigration/TeamMigrationViewModel.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ class TeamMigrationViewModel @Inject constructor(
108108
fun migrateFromPersonalToTeamAccount(onSuccess: () -> Unit) {
109109
viewModelScope.launch {
110110
migrateFromPersonalToTeam.invoke(
111-
teamMigrationState.teamNameTextState.text.toString(),
111+
teamMigrationState.teamNameTextState.text.trim().toString(),
112112
).let { result ->
113113
when (result) {
114114
is MigrateFromPersonalToTeamResult.Success -> {

app/src/main/kotlin/com/wire/android/ui/userprofile/teammigration/step2/TeamMigrationTeamNameStepScreen.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ private fun TeamMigrationTeamNameStepScreenContent(
129129
textFieldState = teamNameTextFieldState,
130130
)
131131
}
132-
val isContinueButtonEnabled = teamNameTextFieldState.text.isNotEmpty()
132+
val isContinueButtonEnabled = teamNameTextFieldState.text.isNotEmpty() && teamNameTextFieldState.text.isNotBlank()
133133
BottomLineButtons(
134134
isContinueButtonEnabled = isContinueButtonEnabled,
135135
onContinue = onContinueButtonClicked,

app/src/test/kotlin/com/wire/android/ui/userprofile/teammigration/TeamMigrationViewModelTest.kt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,22 @@ class TeamMigrationViewModelTest {
225225
Assertions.assertNull(viewModel.teamMigrationState.migrationFailure)
226226
}
227227

228+
@Test
229+
fun `given team name with spaces at start or end, when invoking migration, then trim the name`() = runTest {
230+
// given
231+
val (arrangement, viewModel) = Arrangement()
232+
.withMigrateFromPersonalToTeamSuccess()
233+
.arrange()
234+
val onSuccess = {}
235+
viewModel.teamMigrationState.teamNameTextState.setTextAndPlaceCursorAtEnd(" ${Arrangement.TEAM_NAME} ")
236+
// when
237+
viewModel.migrateFromPersonalToTeamAccount(onSuccess)
238+
// then
239+
coVerify(exactly = 1) {
240+
arrangement.migrateFromPersonalToTeam(Arrangement.TEAM_NAME)
241+
}
242+
}
243+
228244
private class Arrangement {
229245

230246
@MockK

0 commit comments

Comments
 (0)