Add Konsist test to use isTrue() instead of isEqualTo(true), and fix existing issues.

This commit is contained in:
Benoit Marty 2023-12-04 15:22:28 +01:00
parent 65924eac6b
commit 7c58a843dc
9 changed files with 48 additions and 36 deletions

View file

@ -79,14 +79,14 @@ class SendLocationPresenterTest {
val initialState = awaitItem() val initialState = awaitItem()
assertThat(initialState.permissionDialog).isEqualTo(SendLocationState.Dialog.None) assertThat(initialState.permissionDialog).isEqualTo(SendLocationState.Dialog.None)
assertThat(initialState.mode).isEqualTo(SendLocationState.Mode.SenderLocation) assertThat(initialState.mode).isEqualTo(SendLocationState.Mode.SenderLocation)
assertThat(initialState.hasLocationPermission).isEqualTo(true) assertThat(initialState.hasLocationPermission).isTrue()
// Swipe the map to switch mode // Swipe the map to switch mode
initialState.eventSink(SendLocationEvents.SwitchToPinLocationMode) initialState.eventSink(SendLocationEvents.SwitchToPinLocationMode)
val myLocationState = awaitItem() val myLocationState = awaitItem()
assertThat(myLocationState.permissionDialog).isEqualTo(SendLocationState.Dialog.None) assertThat(myLocationState.permissionDialog).isEqualTo(SendLocationState.Dialog.None)
assertThat(myLocationState.mode).isEqualTo(SendLocationState.Mode.PinLocation) assertThat(myLocationState.mode).isEqualTo(SendLocationState.Mode.PinLocation)
assertThat(myLocationState.hasLocationPermission).isEqualTo(true) assertThat(myLocationState.hasLocationPermission).isTrue()
} }
} }
@ -106,14 +106,14 @@ class SendLocationPresenterTest {
val initialState = awaitItem() val initialState = awaitItem()
assertThat(initialState.permissionDialog).isEqualTo(SendLocationState.Dialog.None) assertThat(initialState.permissionDialog).isEqualTo(SendLocationState.Dialog.None)
assertThat(initialState.mode).isEqualTo(SendLocationState.Mode.SenderLocation) assertThat(initialState.mode).isEqualTo(SendLocationState.Mode.SenderLocation)
assertThat(initialState.hasLocationPermission).isEqualTo(true) assertThat(initialState.hasLocationPermission).isTrue()
// Swipe the map to switch mode // Swipe the map to switch mode
initialState.eventSink(SendLocationEvents.SwitchToPinLocationMode) initialState.eventSink(SendLocationEvents.SwitchToPinLocationMode)
val myLocationState = awaitItem() val myLocationState = awaitItem()
assertThat(myLocationState.permissionDialog).isEqualTo(SendLocationState.Dialog.None) assertThat(myLocationState.permissionDialog).isEqualTo(SendLocationState.Dialog.None)
assertThat(myLocationState.mode).isEqualTo(SendLocationState.Mode.PinLocation) assertThat(myLocationState.mode).isEqualTo(SendLocationState.Mode.PinLocation)
assertThat(myLocationState.hasLocationPermission).isEqualTo(true) assertThat(myLocationState.hasLocationPermission).isTrue()
} }
} }

View file

@ -103,7 +103,7 @@ class ShowLocationPresenterTest {
val initialState = awaitItem() val initialState = awaitItem()
assertThat(initialState.location).isEqualTo(location) assertThat(initialState.location).isEqualTo(location)
assertThat(initialState.description).isEqualTo(A_DESCRIPTION) assertThat(initialState.description).isEqualTo(A_DESCRIPTION)
assertThat(initialState.hasLocationPermission).isEqualTo(true) assertThat(initialState.hasLocationPermission).isTrue()
assertThat(initialState.isTrackMyLocation).isFalse() assertThat(initialState.isTrackMyLocation).isFalse()
} }
} }
@ -118,7 +118,7 @@ class ShowLocationPresenterTest {
val initialState = awaitItem() val initialState = awaitItem()
assertThat(initialState.location).isEqualTo(location) assertThat(initialState.location).isEqualTo(location)
assertThat(initialState.description).isEqualTo(A_DESCRIPTION) assertThat(initialState.description).isEqualTo(A_DESCRIPTION)
assertThat(initialState.hasLocationPermission).isEqualTo(true) assertThat(initialState.hasLocationPermission).isTrue()
assertThat(initialState.isTrackMyLocation).isFalse() assertThat(initialState.isTrackMyLocation).isFalse()
} }
} }
@ -144,7 +144,7 @@ class ShowLocationPresenterTest {
presenter.present() presenter.present()
}.test { }.test {
val initialState = awaitItem() val initialState = awaitItem()
assertThat(initialState.hasLocationPermission).isEqualTo(true) assertThat(initialState.hasLocationPermission).isTrue()
assertThat(initialState.isTrackMyLocation).isFalse() assertThat(initialState.isTrackMyLocation).isFalse()
initialState.eventSink(ShowLocationEvents.TrackMyLocation(true)) initialState.eventSink(ShowLocationEvents.TrackMyLocation(true))
@ -152,15 +152,15 @@ class ShowLocationPresenterTest {
delay(1) delay(1)
assertThat(trackMyLocationState.hasLocationPermission).isEqualTo(true) assertThat(trackMyLocationState.hasLocationPermission).isTrue()
assertThat(trackMyLocationState.isTrackMyLocation).isEqualTo(true) assertThat(trackMyLocationState.isTrackMyLocation).isTrue()
// Swipe the map to switch mode // Swipe the map to switch mode
initialState.eventSink(ShowLocationEvents.TrackMyLocation(false)) initialState.eventSink(ShowLocationEvents.TrackMyLocation(false))
val trackLocationDisabledState = awaitItem() val trackLocationDisabledState = awaitItem()
assertThat(trackLocationDisabledState.permissionDialog).isEqualTo(ShowLocationState.Dialog.None) assertThat(trackLocationDisabledState.permissionDialog).isEqualTo(ShowLocationState.Dialog.None)
assertThat(trackLocationDisabledState.isTrackMyLocation).isFalse() assertThat(trackLocationDisabledState.isTrackMyLocation).isFalse()
assertThat(trackLocationDisabledState.hasLocationPermission).isEqualTo(true) assertThat(trackLocationDisabledState.hasLocationPermission).isTrue()
} }
} }

View file

@ -94,7 +94,7 @@ class PinUnlockPresenterTest {
} }
awaitLastSequentialItem().also { state -> awaitLastSequentialItem().also { state ->
assertThat(state.remainingAttempts.dataOrNull()).isEqualTo(0) assertThat(state.remainingAttempts.dataOrNull()).isEqualTo(0)
assertThat(state.showSignOutPrompt).isEqualTo(true) assertThat(state.showSignOutPrompt).isTrue()
assertThat(state.isSignOutPromptCancellable).isFalse() assertThat(state.isSignOutPromptCancellable).isFalse()
} }
} }
@ -112,8 +112,8 @@ class PinUnlockPresenterTest {
state.eventSink(PinUnlockEvents.OnForgetPin) state.eventSink(PinUnlockEvents.OnForgetPin)
} }
awaitLastSequentialItem().also { state -> awaitLastSequentialItem().also { state ->
assertThat(state.showSignOutPrompt).isEqualTo(true) assertThat(state.showSignOutPrompt).isTrue()
assertThat(state.isSignOutPromptCancellable).isEqualTo(true) assertThat(state.isSignOutPromptCancellable).isTrue()
state.eventSink(PinUnlockEvents.ClearSignOutPrompt) state.eventSink(PinUnlockEvents.ClearSignOutPrompt)
} }
awaitLastSequentialItem().also { state -> awaitLastSequentialItem().also { state ->
@ -121,7 +121,7 @@ class PinUnlockPresenterTest {
state.eventSink(PinUnlockEvents.OnForgetPin) state.eventSink(PinUnlockEvents.OnForgetPin)
} }
awaitLastSequentialItem().also { state -> awaitLastSequentialItem().also { state ->
assertThat(state.showSignOutPrompt).isEqualTo(true) assertThat(state.showSignOutPrompt).isTrue()
state.eventSink(PinUnlockEvents.SignOut) state.eventSink(PinUnlockEvents.SignOut)
} }
consumeItemsUntilPredicate { state -> consumeItemsUntilPredicate { state ->

View file

@ -381,7 +381,7 @@ class MessageComposerPresenterTest {
val initialState = awaitItem() val initialState = awaitItem()
assertThat(initialState.showAttachmentSourcePicker).isFalse() assertThat(initialState.showAttachmentSourcePicker).isFalse()
initialState.eventSink(MessageComposerEvents.AddAttachment) initialState.eventSink(MessageComposerEvents.AddAttachment)
assertThat(awaitItem().showAttachmentSourcePicker).isEqualTo(true) assertThat(awaitItem().showAttachmentSourcePicker).isTrue()
} }
} }

View file

@ -80,7 +80,7 @@ class DefaultVoiceMessagePlayerTest {
matchReadyState() matchReadyState()
player.play() player.play()
awaitItem().let { awaitItem().let {
assertThat(it.isPlaying).isEqualTo(true) assertThat(it.isPlaying).isTrue()
assertThat(it.currentPosition).isEqualTo(1000) assertThat(it.currentPosition).isEqualTo(1000)
} }
} }
@ -102,7 +102,7 @@ class DefaultVoiceMessagePlayerTest {
awaitItem().let { awaitItem().let {
assertThat(it.isReady).isFalse() assertThat(it.isReady).isFalse()
assertThat(it.isPlaying).isFalse() assertThat(it.isPlaying).isFalse()
assertThat(it.isEnded).isEqualTo(true) assertThat(it.isEnded).isTrue()
assertThat(it.currentPosition).isEqualTo(1000) assertThat(it.currentPosition).isEqualTo(1000)
assertThat(it.duration).isEqualTo(1000) assertThat(it.duration).isEqualTo(1000)
} }
@ -127,7 +127,7 @@ class DefaultVoiceMessagePlayerTest {
awaitItem().let { // it plays until the end. awaitItem().let { // it plays until the end.
assertThat(it.isReady).isFalse() assertThat(it.isReady).isFalse()
assertThat(it.isPlaying).isFalse() assertThat(it.isPlaying).isFalse()
assertThat(it.isEnded).isEqualTo(true) assertThat(it.isEnded).isTrue()
assertThat(it.currentPosition).isEqualTo(1000) assertThat(it.currentPosition).isEqualTo(1000)
assertThat(it.duration).isEqualTo(1000) assertThat(it.duration).isEqualTo(1000)
} }
@ -140,7 +140,7 @@ class DefaultVoiceMessagePlayerTest {
awaitItem().let { // Additional spurious state due to MediaPlayer owner change. awaitItem().let { // Additional spurious state due to MediaPlayer owner change.
assertThat(it.isReady).isFalse() assertThat(it.isReady).isFalse()
assertThat(it.isPlaying).isFalse() assertThat(it.isPlaying).isFalse()
assertThat(it.isEnded).isEqualTo(true) assertThat(it.isEnded).isTrue()
assertThat(it.currentPosition).isEqualTo(1000) assertThat(it.currentPosition).isEqualTo(1000)
assertThat(it.duration).isEqualTo(1000) assertThat(it.duration).isEqualTo(1000)
} }
@ -156,7 +156,7 @@ class DefaultVoiceMessagePlayerTest {
awaitItem().let { // it plays until the end. awaitItem().let { // it plays until the end.
assertThat(it.isReady).isFalse() assertThat(it.isReady).isFalse()
assertThat(it.isPlaying).isFalse() assertThat(it.isPlaying).isFalse()
assertThat(it.isEnded).isEqualTo(true) assertThat(it.isEnded).isTrue()
assertThat(it.currentPosition).isEqualTo(1000) assertThat(it.currentPosition).isEqualTo(1000)
assertThat(it.duration).isEqualTo(1000) assertThat(it.duration).isEqualTo(1000)
} }
@ -167,7 +167,7 @@ class DefaultVoiceMessagePlayerTest {
awaitItem().let {// Last previous state/ awaitItem().let {// Last previous state/
assertThat(it.isReady).isFalse() assertThat(it.isReady).isFalse()
assertThat(it.isPlaying).isFalse() assertThat(it.isPlaying).isFalse()
assertThat(it.isEnded).isEqualTo(true) assertThat(it.isEnded).isTrue()
assertThat(it.currentPosition).isEqualTo(1000) assertThat(it.currentPosition).isEqualTo(1000)
assertThat(it.duration).isEqualTo(1000) assertThat(it.duration).isEqualTo(1000)
} }
@ -184,7 +184,7 @@ class DefaultVoiceMessagePlayerTest {
awaitItem().let { // it played again until the end. awaitItem().let { // it played again until the end.
assertThat(it.isReady).isFalse() assertThat(it.isReady).isFalse()
assertThat(it.isPlaying).isFalse() assertThat(it.isPlaying).isFalse()
assertThat(it.isEnded).isEqualTo(true) assertThat(it.isEnded).isTrue()
assertThat(it.currentPosition).isEqualTo(1000) assertThat(it.currentPosition).isEqualTo(1000)
assertThat(it.duration).isEqualTo(1000) assertThat(it.duration).isEqualTo(1000)
} }
@ -221,7 +221,7 @@ class DefaultVoiceMessagePlayerTest {
skipItems(1) // skip pause state skipItems(1) // skip pause state
player.play() player.play()
awaitItem().let { awaitItem().let {
assertThat(it.isPlaying).isEqualTo(true) assertThat(it.isPlaying).isTrue()
assertThat(it.currentPosition).isEqualTo(2000) assertThat(it.currentPosition).isEqualTo(2000)
} }
} }
@ -242,7 +242,7 @@ class DefaultVoiceMessagePlayerTest {
} }
assertThat(player.prepare().isSuccess).isTrue() assertThat(player.prepare().isSuccess).isTrue()
awaitItem().let { awaitItem().let {
assertThat(it.isReady).isEqualTo(true) assertThat(it.isReady).isTrue()
assertThat(it.isPlaying).isFalse() assertThat(it.isPlaying).isFalse()
assertThat(it.isEnded).isFalse() assertThat(it.isEnded).isFalse()
assertThat(it.currentPosition).isEqualTo(2000) assertThat(it.currentPosition).isEqualTo(2000)
@ -260,7 +260,7 @@ class DefaultVoiceMessagePlayerTest {
matchReadyState() matchReadyState()
player.seekTo(2000) player.seekTo(2000)
awaitItem().let { awaitItem().let {
assertThat(it.isReady).isEqualTo(true) assertThat(it.isReady).isTrue()
assertThat(it.isPlaying).isFalse() assertThat(it.isPlaying).isFalse()
assertThat(it.isEnded).isFalse() assertThat(it.isEnded).isFalse()
assertThat(it.currentPosition).isEqualTo(2000) assertThat(it.currentPosition).isEqualTo(2000)
@ -308,7 +308,7 @@ private suspend fun TurbineTestContext<VoiceMessagePlayer.State>.matchReadyState
fakeTotalDurationMs: Long = FAKE_TOTAL_DURATION_MS, fakeTotalDurationMs: Long = FAKE_TOTAL_DURATION_MS,
) { ) {
awaitItem().let { awaitItem().let {
assertThat(it.isReady).isEqualTo(true) assertThat(it.isReady).isTrue()
assertThat(it.isPlaying).isFalse() assertThat(it.isPlaying).isFalse()
assertThat(it.isEnded).isFalse() assertThat(it.isEnded).isFalse()
assertThat(it.currentPosition).isEqualTo(0) assertThat(it.currentPosition).isEqualTo(0)

View file

@ -73,7 +73,7 @@ class PreferencesRootPresenterTest {
avatarUrl = AN_AVATAR_URL avatarUrl = AN_AVATAR_URL
) )
) )
assertThat(loadedState.showDeveloperSettings).isEqualTo(true) assertThat(loadedState.showDeveloperSettings).isTrue()
assertThat(loadedState.showAnalyticsSettings).isFalse() assertThat(loadedState.showAnalyticsSettings).isFalse()
assertThat(loadedState.accountManagementUrl).isNull() assertThat(loadedState.accountManagementUrl).isNull()
assertThat(loadedState.devicesManagementUrl).isNull() assertThat(loadedState.devicesManagementUrl).isNull()

View file

@ -304,7 +304,7 @@ class RoomDetailsEditPresenterTest {
// Once a change is made, the save button is enabled // Once a change is made, the save button is enabled
initialState.eventSink(RoomDetailsEditEvents.UpdateRoomName("Name II")) initialState.eventSink(RoomDetailsEditEvents.UpdateRoomName("Name II"))
awaitItem().apply { awaitItem().apply {
assertThat(saveButtonEnabled).isEqualTo(true) assertThat(saveButtonEnabled).isTrue()
} }
// If it's reverted then the save disables again // If it's reverted then the save disables again
@ -316,7 +316,7 @@ class RoomDetailsEditPresenterTest {
// Make a change... // Make a change...
initialState.eventSink(RoomDetailsEditEvents.UpdateRoomTopic("Another topic")) initialState.eventSink(RoomDetailsEditEvents.UpdateRoomTopic("Another topic"))
awaitItem().apply { awaitItem().apply {
assertThat(saveButtonEnabled).isEqualTo(true) assertThat(saveButtonEnabled).isTrue()
} }
// Revert it... // Revert it...
@ -328,7 +328,7 @@ class RoomDetailsEditPresenterTest {
// Make a change... // Make a change...
initialState.eventSink(RoomDetailsEditEvents.HandleAvatarAction(AvatarAction.Remove)) initialState.eventSink(RoomDetailsEditEvents.HandleAvatarAction(AvatarAction.Remove))
awaitItem().apply { awaitItem().apply {
assertThat(saveButtonEnabled).isEqualTo(true) assertThat(saveButtonEnabled).isTrue()
} }
// Revert it... // Revert it...
@ -356,7 +356,7 @@ class RoomDetailsEditPresenterTest {
// Once a change is made, the save button is enabled // Once a change is made, the save button is enabled
initialState.eventSink(RoomDetailsEditEvents.UpdateRoomName("Name II")) initialState.eventSink(RoomDetailsEditEvents.UpdateRoomName("Name II"))
awaitItem().apply { awaitItem().apply {
assertThat(saveButtonEnabled).isEqualTo(true) assertThat(saveButtonEnabled).isTrue()
} }
// If it's reverted then the save disables again // If it's reverted then the save disables again
@ -368,7 +368,7 @@ class RoomDetailsEditPresenterTest {
// Make a change... // Make a change...
initialState.eventSink(RoomDetailsEditEvents.UpdateRoomTopic("Another topic")) initialState.eventSink(RoomDetailsEditEvents.UpdateRoomTopic("Another topic"))
awaitItem().apply { awaitItem().apply {
assertThat(saveButtonEnabled).isEqualTo(true) assertThat(saveButtonEnabled).isTrue()
} }
// Revert it... // Revert it...
@ -380,7 +380,7 @@ class RoomDetailsEditPresenterTest {
// Make a change... // Make a change...
initialState.eventSink(RoomDetailsEditEvents.HandleAvatarAction(AvatarAction.ChoosePhoto)) initialState.eventSink(RoomDetailsEditEvents.HandleAvatarAction(AvatarAction.ChoosePhoto))
awaitItem().apply { awaitItem().apply {
assertThat(saveButtonEnabled).isEqualTo(true) assertThat(saveButtonEnabled).isTrue()
} }
// Revert it... // Revert it...

View file

@ -45,7 +45,7 @@ class DefaultFeatureFlagServiceTest {
val featureFlagProvider = FakeMutableFeatureFlagProvider(0) val featureFlagProvider = FakeMutableFeatureFlagProvider(0)
val featureFlagService = DefaultFeatureFlagService(setOf(featureFlagProvider)) val featureFlagService = DefaultFeatureFlagService(setOf(featureFlagProvider))
val result = featureFlagService.setFeatureEnabled(FeatureFlags.LocationSharing, true) val result = featureFlagService.setFeatureEnabled(FeatureFlags.LocationSharing, true)
assertThat(result).isEqualTo(true) assertThat(result).isTrue()
} }
@Test @Test
@ -54,7 +54,7 @@ class DefaultFeatureFlagServiceTest {
val featureFlagService = DefaultFeatureFlagService(setOf(featureFlagProvider)) val featureFlagService = DefaultFeatureFlagService(setOf(featureFlagProvider))
featureFlagService.setFeatureEnabled(FeatureFlags.LocationSharing, true) featureFlagService.setFeatureEnabled(FeatureFlags.LocationSharing, true)
featureFlagService.isFeatureEnabledFlow(FeatureFlags.LocationSharing).test { featureFlagService.isFeatureEnabledFlow(FeatureFlags.LocationSharing).test {
assertThat(awaitItem()).isEqualTo(true) assertThat(awaitItem()).isTrue()
featureFlagService.setFeatureEnabled(FeatureFlags.LocationSharing, false) featureFlagService.setFeatureEnabled(FeatureFlags.LocationSharing, false)
assertThat(awaitItem()).isFalse() assertThat(awaitItem()).isFalse()
} }
@ -68,7 +68,7 @@ class DefaultFeatureFlagServiceTest {
lowPriorityFeatureFlagProvider.setFeatureEnabled(FeatureFlags.LocationSharing, false) lowPriorityFeatureFlagProvider.setFeatureEnabled(FeatureFlags.LocationSharing, false)
highPriorityFeatureFlagProvider.setFeatureEnabled(FeatureFlags.LocationSharing, true) highPriorityFeatureFlagProvider.setFeatureEnabled(FeatureFlags.LocationSharing, true)
featureFlagService.isFeatureEnabledFlow(FeatureFlags.LocationSharing).test { featureFlagService.isFeatureEnabledFlow(FeatureFlags.LocationSharing).test {
assertThat(awaitItem()).isEqualTo(true) assertThat(awaitItem()).isTrue()
} }
} }
} }

View file

@ -74,4 +74,16 @@ class KonsistTestTest {
functionDeclaration.text.contains("isEqualTo(false)") functionDeclaration.text.contains("isEqualTo(false)")
} }
} }
@Test
fun `use isTrue() instead of isEqualTo(true)`() {
Konsist
.scopeFromTest()
.functions()
// Exclude self
.withoutName("use isTrue() instead of isEqualTo(true)")
.assertFalse { functionDeclaration ->
functionDeclaration.text.contains("isEqualTo(true)")
}
}
} }