Skip to content
This repository was archived by the owner on Feb 17, 2020. It is now read-only.

Commit 2da7d3b

Browse files
committed
Extract FakeAuthService from SearchServiceTest
1 parent 177fd15 commit 2da7d3b

2 files changed

Lines changed: 45 additions & 39 deletions

File tree

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package net.squanchy
2+
3+
import arrow.core.Option
4+
import com.google.android.gms.auth.api.signin.GoogleSignInAccount
5+
import io.reactivex.Completable
6+
import io.reactivex.Observable
7+
import net.squanchy.service.repository.AuthService
8+
import net.squanchy.service.repository.User
9+
10+
class FakeAuthService(
11+
private val uid: String = "uid"
12+
) : AuthService {
13+
14+
override fun signInWithGoogle(account: GoogleSignInAccount): Completable {
15+
TODO("not implemented")
16+
}
17+
18+
override fun <T> ifUserSignedInThenObservableFrom(observable: (String) -> Observable<T>): Observable<T> {
19+
return observable(uid)
20+
}
21+
22+
override fun ifUserSignedInThenCompletableFrom(completable: (String) -> Completable): Completable {
23+
return completable(uid)
24+
}
25+
26+
override fun currentUser(): Observable<Option<User>> {
27+
TODO("not implemented")
28+
}
29+
30+
override fun signOut(): Completable {
31+
TODO("not implemented")
32+
}
33+
34+
override fun signInAnonymously(): Completable {
35+
TODO("not implemented")
36+
}
37+
}

app/src/test/java/net/squanchy/search/SearchServiceTest.kt

Lines changed: 8 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,14 @@
11
package net.squanchy.search
22

3-
import arrow.core.Option
4-
import com.google.android.gms.auth.api.signin.GoogleSignInAccount
5-
import io.reactivex.Completable
63
import io.reactivex.Observable
4+
import net.squanchy.FakeAuthService
75
import net.squanchy.schedule.domain.view.anEvent
8-
import net.squanchy.search.algolia.AlgoliaSearchEngine
9-
import net.squanchy.search.algolia.model.AlgoliaSearchResult
106
import net.squanchy.search.SearchListElement.EventElement
117
import net.squanchy.search.SearchListElement.SpeakerElement
12-
import net.squanchy.service.repository.AuthService
8+
import net.squanchy.search.algolia.AlgoliaSearchEngine
9+
import net.squanchy.search.algolia.model.AlgoliaSearchResult
1310
import net.squanchy.service.repository.EventRepository
1411
import net.squanchy.service.repository.SpeakerRepository
15-
import net.squanchy.service.repository.User
1612
import net.squanchy.speaker.domain.view.aSpeaker
1713
import org.junit.Before
1814
import org.junit.Rule
@@ -28,20 +24,20 @@ class SearchServiceTest {
2824
@JvmField
2925
var rule: MockitoRule = MockitoJUnit.rule()
3026

31-
lateinit var searchService: SearchService
27+
private lateinit var searchService: SearchService
3228

3329
@Mock
34-
lateinit var eventRepository: EventRepository
30+
private lateinit var eventRepository: EventRepository
3531

3632
@Mock
37-
lateinit var speakerRepository: SpeakerRepository
33+
private lateinit var speakerRepository: SpeakerRepository
3834

3935
@Mock
40-
lateinit var algoliaSearchEngine: AlgoliaSearchEngine
36+
private lateinit var algoliaSearchEngine: AlgoliaSearchEngine
4137

4238
@Before
4339
fun setup() {
44-
searchService = SearchService(eventRepository, speakerRepository, FakeAuthService, algoliaSearchEngine)
40+
searchService = SearchService(eventRepository, speakerRepository, FakeAuthService(UID), algoliaSearchEngine)
4541
}
4642

4743
@Test
@@ -99,31 +95,4 @@ class SearchServiceTest {
9995
private const val QUERY = "A"
10096
private const val UID = "uid"
10197
}
102-
103-
private object FakeAuthService : AuthService {
104-
105-
override fun signInWithGoogle(account: GoogleSignInAccount): Completable {
106-
TODO("not implemented")
107-
}
108-
109-
override fun <T> ifUserSignedInThenObservableFrom(observable: (String) -> Observable<T>): Observable<T> {
110-
return observable(UID)
111-
}
112-
113-
override fun ifUserSignedInThenCompletableFrom(completable: (String) -> Completable): Completable {
114-
TODO("not implemented")
115-
}
116-
117-
override fun currentUser(): Observable<Option<User>> {
118-
TODO("not implemented")
119-
}
120-
121-
override fun signOut(): Completable {
122-
TODO("not implemented")
123-
}
124-
125-
override fun signInAnonymously(): Completable {
126-
TODO("not implemented")
127-
}
128-
}
12998
}

0 commit comments

Comments
 (0)