@@ -24,89 +24,109 @@ import com.wire.kalium.logic.data.id.TeamId
2424import com.wire.kalium.logic.data.team.Team
2525import com.wire.kalium.logic.data.team.TeamRepository
2626import com.wire.kalium.logic.framework.TestTeam
27- import io.mockative.any
28- import io.mockative.coEvery
29- import io.mockative.coVerify
30- import io.mockative.eq
31- import io.mockative.mock
27+ import dev.mokkery.answering.returns
28+ import dev.mokkery.everySuspend
29+ import dev.mokkery.matcher.any
30+ import dev.mokkery.matcher.eq
31+ import dev.mokkery.mock
32+ import dev.mokkery.verify.VerifyMode
33+ import dev.mokkery.verifySuspend
3234import kotlinx.coroutines.test.runTest
3335import kotlin.test.Test
34- import kotlin.test.assertNotNull
36+ import kotlin.test.assertEquals
3537import kotlin.test.assertNull
3638
37- class GetUpdatedSelfTeamUseCaseTest {
39+ class SyncSelfTeamInfoUseCaseTest {
3840
3941 @Test
40- fun givenSelfUserHasNotValidTeam_whenGettingSelfTeam_thenTeamInfoAndServicesAreNotRequested () = runTest {
42+ fun givenSelfUserHasNotValidTeam_whenSyncingSelfTeam_thenTeamInfoIsNotRequested () = runTest {
4143 // given
4244 val (arrangement, sut) = Arrangement ()
4345 .withSelfTeamIdProvider(Either .Right (null ))
44- .withSyncingByIdReturning (Either .Right (TestTeam .TEAM ))
46+ .withSyncTeamReturning (Either .Right (TestTeam .TEAM ))
4547 .arrange()
4648
4749 // when
4850 val result = sut.invoke()
4951
5052 // then
5153 assertNull(result)
52- coVerify {
53- arrangement.teamRepository.syncTeam(eq( TestTeam . TEAM_ID ))
54- }.wasNotInvoked()
54+ verifySuspend( VerifyMode . not ) {
55+ arrangement.teamRepository.syncTeam(any( ))
56+ }
5557 }
5658
5759 @Test
58- fun givenAnError_whenGettingSelfTeam_thenTeamInfoAndServicesAreNotRequested () = runTest {
60+ fun givenAnError_whenSyncingSelfTeam_thenTeamInfoIsNotRequested () = runTest {
5961 // given
6062 val (arrangement, sut) = Arrangement ()
6163 .withSelfTeamIdProvider(Either .Left (CoreFailure .Unknown (RuntimeException (" some error" ))))
62- .withSyncingByIdReturning(Either .Right (TestTeam .TEAM ))
64+ .withSyncTeamReturning(Either .Right (TestTeam .TEAM ))
65+ .arrange()
66+
67+ // when
68+ val result = sut.invoke()
69+
70+ // then
71+ assertNull(result)
72+ verifySuspend(VerifyMode .not ) {
73+ arrangement.teamRepository.syncTeam(any())
74+ }
75+ }
76+
77+ @Test
78+ fun givenSelfUserHasValidTeam_whenSyncingSelfTeamFails_thenNullIsReturned () = runTest {
79+ // given
80+ val (arrangement, sut) = Arrangement ()
81+ .withSelfTeamIdProvider(Either .Right (TestTeam .TEAM_ID ))
82+ .withSyncTeamReturning(Either .Left (CoreFailure .Unknown (RuntimeException (" some error" ))))
6383 .arrange()
6484
6585 // when
6686 val result = sut.invoke()
6787
6888 // then
6989 assertNull(result)
70- coVerify {
90+ verifySuspend {
7191 arrangement.teamRepository.syncTeam(eq(TestTeam .TEAM_ID ))
72- }.wasNotInvoked()
92+ }
7393 }
7494
7595 @Test
76- fun givenSelfUserHasValidTeam_whenGettingSelfTeam_thenTeamInfoAndServicesAreRequested () = runTest {
96+ fun givenSelfUserHasValidTeam_whenSyncingSelfTeam_thenTeamInfoIsReturned () = runTest {
7797 // given
7898 val (arrangement, sut) = Arrangement ()
7999 .withSelfTeamIdProvider(Either .Right (TestTeam .TEAM_ID ))
80- .withSyncingByIdReturning (Either .Right (TestTeam .TEAM ))
100+ .withSyncTeamReturning (Either .Right (TestTeam .TEAM ))
81101 .arrange()
82102
83103 // when
84104 val result = sut.invoke()
85105
86106 // then
87- assertNotNull( result)
88- coVerify {
107+ assertEquals( TestTeam . TEAM , result)
108+ verifySuspend {
89109 arrangement.teamRepository.syncTeam(eq(TestTeam .TEAM_ID ))
90- }.wasInvoked()
110+ }
91111 }
92112
93113 private class Arrangement {
94- val selfTeamIdProvider: SelfTeamIdProvider = mock( SelfTeamIdProvider :: class )
95- val teamRepository: TeamRepository = mock( TeamRepository :: class )
114+ val selfTeamIdProvider: SelfTeamIdProvider = mock< SelfTeamIdProvider >( )
115+ val teamRepository: TeamRepository = mock< TeamRepository >( )
96116
97- suspend fun withSelfTeamIdProvider (result : Either <CoreFailure , TeamId ?>) = apply {
98- coEvery {
117+ fun withSelfTeamIdProvider (result : Either <CoreFailure , TeamId ?>) = apply {
118+ everySuspend {
99119 selfTeamIdProvider.invoke()
100120 }.returns(result)
101121 }
102122
103- suspend fun withSyncingByIdReturning (result : Either <CoreFailure , Team >) = apply {
104- coEvery {
123+ fun withSyncTeamReturning (result : Either <CoreFailure , Team >) = apply {
124+ everySuspend {
105125 teamRepository.syncTeam(any())
106126 }.returns(result)
107127 }
108128
109- fun arrange () = this to GetUpdatedSelfTeamUseCase (
129+ fun arrange () = this to SyncSelfTeamInfoUseCase (
110130 selfTeamIdProvider = selfTeamIdProvider,
111131 teamRepository = teamRepository
112132 )
0 commit comments