Skip to content

Commit 4d69236

Browse files
committed
Unit tests for UpdateBlogPost.kt
1 parent 0199f08 commit 4d69236

File tree

5 files changed

+453
-20
lines changed

5 files changed

+453
-20
lines changed

app/src/main/java/com/codingwithmitch/openapi/business/interactors/blog/UpdateBlogPost.kt

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,21 @@
11
package com.codingwithmitch.openapi.business.interactors.blog
22

33
import com.codingwithmitch.openapi.api.handleUseCaseException
4+
import com.codingwithmitch.openapi.business.datasource.cache.blog.BlogPostDao
45
import com.codingwithmitch.openapi.business.datasource.network.main.OpenApiMainService
56
import com.codingwithmitch.openapi.business.domain.models.AuthToken
6-
import com.codingwithmitch.openapi.business.datasource.cache.blog.BlogPostDao
7-
import com.codingwithmitch.openapi.business.domain.util.*
7+
import com.codingwithmitch.openapi.business.domain.util.DataState
88
import com.codingwithmitch.openapi.business.domain.util.ErrorHandling.Companion.ERROR_AUTH_TOKEN_INVALID
9+
import com.codingwithmitch.openapi.business.domain.util.ErrorHandling.Companion.GENERIC_ERROR
10+
import com.codingwithmitch.openapi.business.domain.util.MessageType
11+
import com.codingwithmitch.openapi.business.domain.util.Response
912
import com.codingwithmitch.openapi.business.domain.util.SuccessHandling.Companion.SUCCESS_BLOG_UPDATED
13+
import com.codingwithmitch.openapi.business.domain.util.UIComponentType
1014
import kotlinx.coroutines.flow.Flow
1115
import kotlinx.coroutines.flow.catch
1216
import kotlinx.coroutines.flow.flow
1317
import okhttp3.MultipartBody
1418
import okhttp3.RequestBody
15-
import java.lang.Exception
1619

1720
class UpdateBlogPost(
1821
private val service: OpenApiMainService,
@@ -42,14 +45,14 @@ class UpdateBlogPost(
4245
image
4346
)
4447

45-
if(createUpdateResponse.response != SUCCESS_BLOG_UPDATED){ // failure
46-
throw Exception(createUpdateResponse.response)
48+
if(createUpdateResponse.response == GENERIC_ERROR){ // failure
49+
throw Exception(createUpdateResponse.errorMessage)
4750
}else{ // success
4851
cache.updateBlogPost(
49-
createUpdateResponse.pk,
50-
createUpdateResponse.title,
51-
createUpdateResponse.body,
52-
createUpdateResponse.image
52+
pk = createUpdateResponse.pk,
53+
title = createUpdateResponse.title,
54+
body = createUpdateResponse.body,
55+
image = createUpdateResponse.image
5356
)
5457
// Tell the UI it was successful
5558
emit(DataState.data<Response>(

app/src/main/java/com/codingwithmitch/openapi/presentation/main/create_blog/CreateBlogFragment.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import com.codingwithmitch.openapi.business.domain.util.*
1616
import com.codingwithmitch.openapi.business.domain.util.Constants.Companion.GALLERY_REQUEST_CODE
1717
import com.codingwithmitch.openapi.business.domain.util.ErrorHandling.Companion.ERROR_SOMETHING_WRONG_WITH_IMAGE
1818
import com.codingwithmitch.openapi.databinding.FragmentCreateBlogBinding
19-
import com.codingwithmitch.openapi.databinding.FragmentRegisterBinding
2019
import com.codingwithmitch.openapi.presentation.util.processQueue
2120
import com.theartofdev.edmodo.cropper.CropImage
2221
import com.theartofdev.edmodo.cropper.CropImageView

app/src/test/java/com/codingwithmitch/openapi/datasource/network/blog/UpdateBlogResponses.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,10 @@ object UpdateBlogResponses {
3939
username = username
4040
)
4141

42-
val updateSuccess = "{ \"response\": \"${SuccessHandling.SUCCESS_BLOG_UPDATED}\", \"pk\": $pk, \"title\": \"$title\", \"body\": \"$body\", \"slug\": \"$slug\", \"date_updated\": \"$dateUpdated\", \"image\": \"$image\", \"username\": \"$username\" }"
42+
val updatedTitle = "Hey look a new title"
43+
val updatedBody = "I don't know I just need to make sure this is 50 characters long for testing."
44+
45+
val updateSuccess = "{ \"response\": \"${SuccessHandling.SUCCESS_BLOG_UPDATED}\", \"pk\": $blogPk, \"title\": \"$updatedTitle\", \"body\": \"$updatedBody\", \"slug\": \"$slug\", \"date_updated\": \"$dateUpdated\", \"image\": \"$image\", \"username\": \"$username\" }"
4346

4447
val updateFail_dontHavePermission = "{ \"response\": \"Error\", \"error_message\": \"${ErrorHandling.ERROR_EDIT_BLOG_NEED_PERMISSION}\" }"
4548

app/src/test/java/com/codingwithmitch/openapi/interactors/blog/SearchBlogsTest.kt

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -188,13 +188,6 @@ class SearchBlogsTest {
188188

189189
@Test
190190
fun failure_authTokenNull() = runBlocking {
191-
// condition the response
192-
mockWebServer.enqueue(
193-
MockResponse()
194-
.setResponseCode(HttpURLConnection.HTTP_OK)
195-
.setBody(SearchBlogsResponses.successEmptyList)
196-
)
197-
198191
// User Information
199192
val authToken = null
200193

0 commit comments

Comments
 (0)