Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
c379df5
[kotlin][10-room-test] Adding test favorite
AlexzPurewoko Mar 30, 2021
2b7785c
[java][10-room-test] add favorite testing
AlexzPurewoko Mar 30, 2021
fa99dae
[java][11-pagination] adding favorite test
AlexzPurewoko Mar 30, 2021
f1f2a4a
[kotlin][11-pagination] adding favorite test
AlexzPurewoko Mar 30, 2021
5b54823
[java][12-pagination-test] Adding favorite test
AlexzPurewoko Mar 30, 2021
cf3d02c
[kotlin][12-pagination-test] Adding favorite test for some test class
AlexzPurewoko Mar 30, 2021
961d356
[kotlin][12-pagination-test] fix favorite unit test
AlexzPurewoko Mar 30, 2021
fb2b596
[java][10-room-test] Adding favorite test
AlexzPurewoko Mar 30, 2021
b141372
[java][11-pagination] Adding favorite test
AlexzPurewoko Mar 30, 2021
62954b3
[kotlin][11-pagination] Adding favorite test
AlexzPurewoko Mar 30, 2021
0ad9876
[java][12-pagination-test] Adding favorite test
AlexzPurewoko Mar 30, 2021
0099657
[kotlin][12-pagination-test] Adding favorite test
AlexzPurewoko Mar 30, 2021
91dad10
[kotlin][12-pagination-test] fix favorite unit test
AlexzPurewoko Mar 30, 2021
1d2374d
Merge remote-tracking branch 'origin/update/room-test' into update/ro…
AlexzPurewoko Mar 31, 2021
a7e6586
[kotlin][10-room-test] rename field 'exercutor' to 'executor'
AlexzPurewoko Mar 31, 2021
d2edebb
[java][10-room-test] fix uneffective code for setBookmark test
AlexzPurewoko Apr 7, 2021
5e8fcba
[kotlin][10-room-test] fix uneffective code for setBookmark test
AlexzPurewoko Apr 7, 2021
0ccbc1d
[java][11-pagination] fix uneffective code for setBookmark test
AlexzPurewoko Apr 7, 2021
076ef28
[kotlin][11-pagination] fix uneffective code for setBookmark test
AlexzPurewoko Apr 7, 2021
e208424
[kotlin][12-pagination-test] fix uneffective code for setBookmark test
AlexzPurewoko Apr 7, 2021
bb80b06
[java][12-pagination-test] fix uneffective code for setBookmark test
AlexzPurewoko Apr 7, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotNull
import org.junit.Rule
import org.junit.Test
import org.mockito.Mockito.`when`
import org.mockito.Mockito.mock
import org.mockito.Mockito.*
import java.util.concurrent.Executor

class AcademyRepositoryTest {

Expand All @@ -26,7 +26,8 @@ class AcademyRepositoryTest {

private val remote = mock(RemoteDataSource::class.java)
private val local = mock(LocalDataSource::class.java)
private val appExecutors = mock(AppExecutors::class.java)
private val exercutor = Executor { it.run() }
private val appExecutors = AppExecutors(exercutor, exercutor, exercutor)

private val academyRepository = FakeAcademyRepository(remote, local, appExecutors)

Expand Down Expand Up @@ -99,4 +100,20 @@ class AcademyRepositoryTest {
assertNotNull(courseEntities.data?.mCourse?.title)
assertEquals(courseResponses[0].title, courseEntities.data?.mCourse?.title)
}

@Test
fun setCourseBookmark() {
val dummy = DataDummy.generateDummyCourses()[0]

academyRepository.setCourseBookmark(dummy, true)
verify(local, times(1)).setCourseBookmark(dummy, true)
}

@Test
fun setReadModule() {
val dummy = DataDummy.generateDummyModules("a")[0]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ini dummy cuman buat invoke sama verify? Tambahkan assertion

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kalau yang ini kan yang di test method void dan hanya meneruskan call saja ke repository. Jadi menurutku, disini cukup verify call method saja
https://blog.knoldus.com/unit-testing-void-methods-with-mockito-and-junit/

Atau mungkin dari mas Alfian ada cara lain kah ?


academyRepository.setReadModule(dummy)
verify(local, times(1)).setReadModule(dummy)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,13 @@ import com.dicoding.academies.data.AcademyRepository
import com.dicoding.academies.data.source.local.entity.CourseWithModule
import com.dicoding.academies.utils.DataDummy
import com.dicoding.academies.vo.Resource
import com.nhaarman.mockitokotlin2.doNothing
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mock
import org.mockito.Mockito
import org.mockito.Mockito.`when`
import org.mockito.Mockito.verify
import org.mockito.junit.MockitoJUnitRunner
Expand Down Expand Up @@ -49,4 +51,22 @@ class DetailCourseViewModelTest {

verify(observer).onChanged(dummyCourseWithModule)
}

@Test
fun setBookmark() {
val dummyCourseWithModule = Resource.success(DataDummy.generateDummyCourseWithModules(dummyCourse, false))
val course = MutableLiveData<Resource<CourseWithModule>>()
course.value = dummyCourseWithModule

`when`(academyRepository.getCourseWithModules(courseId)).thenReturn(course)
viewModel.courseModule.observeForever(observer)

val courseFromViewModel = viewModel.courseModule.value!!.data
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ini buat apa? Skenario berikutnya doNothing, jadi bisa langsung pakai dummyCourseWithModule saja.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok mas fix it


doNothing().`when`(academyRepository).setCourseBookmark(courseFromViewModel!!.mCourse, true)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

avoid using !!


viewModel.setBookmark()

verify(academyRepository).setCourseBookmark(dummyCourse, true)
}
}