lobsters-api: fix tests

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
Harsh Shandilya 2020-09-23 14:32:01 +05:30
parent a66186adc3
commit 0806d71e96
No known key found for this signature in database
GPG key ID: 366D7BBAD1031E80
2 changed files with 5 additions and 20 deletions

View file

@ -11,6 +11,7 @@ dependencies {
implementation "com.squareup.retrofit2:converter-moshi:$retrofit_version"
kaptTest "com.squareup.moshi:moshi-kotlin-codegen:$moshi_version"
testImplementation 'junit:junit:4.13'
testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9"
// retrofit uses 3.14.9, so shall we.
//noinspection GradleDependency
testImplementation "com.squareup.okhttp3:mockwebserver:3.14.9"

View file

@ -1,18 +1,14 @@
package dev.msfjarvis.lobsters.api
import dev.msfjarvis.lobsters.model.LobstersPost
import kotlinx.coroutines.runBlocking
import okhttp3.mockwebserver.Dispatcher
import okhttp3.mockwebserver.MockResponse
import okhttp3.mockwebserver.MockWebServer
import okhttp3.mockwebserver.RecordedRequest
import org.junit.After
import org.junit.Assert.assertEquals
import org.junit.Assert.fail
import org.junit.Before
import org.junit.Test
import retrofit2.Call
import retrofit2.Callback
import retrofit2.Response
class LobstersApiTest {
private val webServer = MockWebServer()
@ -30,21 +26,9 @@ class LobstersApiTest {
}
@Test
fun `api gets correct number of items`() {
apiClient.getHottestPosts().enqueue(object : Callback<List<dev.msfjarvis.lobsters.model.LobstersPost>> {
override fun onResponse(
call: Call<List<dev.msfjarvis.lobsters.model.LobstersPost>>,
response: Response<List<dev.msfjarvis.lobsters.model.LobstersPost>>
) {
val posts = response.body()
require(posts != null)
assertEquals(25, posts.size)
}
override fun onFailure(call: Call<List<dev.msfjarvis.lobsters.model.LobstersPost>>, t: Throwable) {
fail("Call cannot fail in tests")
}
})
fun `api gets correct number of items`() = runBlocking {
val posts = apiClient.getHottestPosts()
assertEquals(25, posts.size)
}
@After