Add run method to EnsureCalledOnce and EnsureCalledOnceWithParam to ensure that assertSuccess is always called.
This commit is contained in:
parent
6798352fb7
commit
ba2c297118
2 changed files with 47 additions and 37 deletions
|
|
@ -57,19 +57,19 @@ class LogoutViewTest {
|
||||||
@Test
|
@Test
|
||||||
fun `clicking on back invoke back callback`() {
|
fun `clicking on back invoke back callback`() {
|
||||||
val eventsRecorder = EventsRecorder<LogoutEvents>(expectEvents = false)
|
val eventsRecorder = EventsRecorder<LogoutEvents>(expectEvents = false)
|
||||||
val callback = EnsureCalledOnce()
|
EnsureCalledOnce().run { callback ->
|
||||||
rule.setContent {
|
rule.setContent {
|
||||||
LogoutView(
|
LogoutView(
|
||||||
aLogoutState(
|
aLogoutState(
|
||||||
eventSink = eventsRecorder
|
eventSink = eventsRecorder
|
||||||
),
|
),
|
||||||
onChangeRecoveryKeyClicked = EnsureNeverCalled(),
|
onChangeRecoveryKeyClicked = EnsureNeverCalled(),
|
||||||
onBackClicked = callback,
|
onBackClicked = callback,
|
||||||
onSuccessLogout = EnsureNeverCalledWithParam(),
|
onSuccessLogout = EnsureNeverCalledWithParam(),
|
||||||
)
|
)
|
||||||
|
}
|
||||||
|
rule.pressBack()
|
||||||
}
|
}
|
||||||
rule.pressBack()
|
|
||||||
callback.assertSuccess()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
@ -112,37 +112,37 @@ class LogoutViewTest {
|
||||||
fun `success logout invoke onSuccessLogout`() {
|
fun `success logout invoke onSuccessLogout`() {
|
||||||
val data = "data"
|
val data = "data"
|
||||||
val eventsRecorder = EventsRecorder<LogoutEvents>(expectEvents = false)
|
val eventsRecorder = EventsRecorder<LogoutEvents>(expectEvents = false)
|
||||||
val callback = EnsureCalledOnceWithParam<String?>(data)
|
EnsureCalledOnceWithParam<String?>(data).run { callback ->
|
||||||
rule.setContent {
|
rule.setContent {
|
||||||
LogoutView(
|
LogoutView(
|
||||||
aLogoutState(
|
aLogoutState(
|
||||||
logoutAction = AsyncAction.Success(data),
|
logoutAction = AsyncAction.Success(data),
|
||||||
eventSink = eventsRecorder
|
eventSink = eventsRecorder
|
||||||
),
|
),
|
||||||
onChangeRecoveryKeyClicked = EnsureNeverCalled(),
|
onChangeRecoveryKeyClicked = EnsureNeverCalled(),
|
||||||
onBackClicked = EnsureNeverCalled(),
|
onBackClicked = EnsureNeverCalled(),
|
||||||
onSuccessLogout = callback,
|
onSuccessLogout = callback,
|
||||||
)
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
callback.assertSuccess()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `last session setting button invoke onChangeRecoveryKeyClicked`() {
|
fun `last session setting button invoke onChangeRecoveryKeyClicked`() {
|
||||||
val eventsRecorder = EventsRecorder<LogoutEvents>(expectEvents = false)
|
val eventsRecorder = EventsRecorder<LogoutEvents>(expectEvents = false)
|
||||||
val callback = EnsureCalledOnce()
|
EnsureCalledOnce().run { callback ->
|
||||||
rule.setContent {
|
rule.setContent {
|
||||||
LogoutView(
|
LogoutView(
|
||||||
aLogoutState(
|
aLogoutState(
|
||||||
isLastSession = true,
|
isLastSession = true,
|
||||||
eventSink = eventsRecorder
|
eventSink = eventsRecorder
|
||||||
),
|
),
|
||||||
onChangeRecoveryKeyClicked = callback,
|
onChangeRecoveryKeyClicked = callback,
|
||||||
onBackClicked = EnsureNeverCalled(),
|
onBackClicked = EnsureNeverCalled(),
|
||||||
onSuccessLogout = EnsureNeverCalledWithParam(),
|
onSuccessLogout = EnsureNeverCalledWithParam(),
|
||||||
)
|
)
|
||||||
|
}
|
||||||
|
rule.clickOn(CommonStrings.common_settings)
|
||||||
}
|
}
|
||||||
rule.clickOn(CommonStrings.common_settings)
|
|
||||||
callback.assertSuccess()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,11 @@ class EnsureCalledOnce : () -> Unit {
|
||||||
throw AssertionError("Expected to be called once, but was called $counter times")
|
throw AssertionError("Expected to be called once, but was called $counter times")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun run(block: (callback: EnsureCalledOnce) -> Unit) {
|
||||||
|
block(this)
|
||||||
|
assertSuccess()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class EnsureCalledOnceWithParam<T>(
|
class EnsureCalledOnceWithParam<T>(
|
||||||
|
|
@ -45,4 +50,9 @@ class EnsureCalledOnceWithParam<T>(
|
||||||
throw AssertionError("Expected to be called once, but was called $counter times")
|
throw AssertionError("Expected to be called once, but was called $counter times")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun run(block: (callback: EnsureCalledOnceWithParam<T>) -> Unit) {
|
||||||
|
block(this)
|
||||||
|
assertSuccess()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue