Fix crash on restore LoginActivity (#182)

This commit is contained in:
Rafał Borcz
2018-11-11 23:24:49 +01:00
committed by Mikołaj Pich
parent cb7e70471b
commit 24f59b45c3
15 changed files with 151 additions and 133 deletions

View File

@ -4,7 +4,10 @@ import org.junit.Assert.assertNotEquals
import org.junit.Before
import org.junit.Test
import org.mockito.Mock
import org.mockito.Mockito.*
import org.mockito.Mockito.clearInvocations
import org.mockito.Mockito.doReturn
import org.mockito.Mockito.never
import org.mockito.Mockito.verify
import org.mockito.MockitoAnnotations
class LoginPresenterTest {
@ -35,16 +38,19 @@ class LoginPresenterTest {
@Test
fun onPageSelectedTest() {
presenter.onPageSelected(1)
verify(loginView).loadOptionsView(1)
verify(loginView).notifyOptionsViewLoadData()
}
@Test
fun onPageSelectedNeverTest() {
presenter.onPageSelected(0)
verify(loginView, never()).loadOptionsView(0)
verify(loginView, never()).notifyOptionsViewLoadData()
}
@Test
fun onSwitchFragmentTest() {
presenter.onSwitchFragment(4)
verify(loginView).switchView(4)
presenter.onChildViewSwitchOptions()
verify(loginView).switchView(1)
}
@Test

View File

@ -9,7 +9,11 @@ import org.junit.Before
import org.junit.Test
import org.mockito.ArgumentMatchers.anyString
import org.mockito.Mock
import org.mockito.Mockito.*
import org.mockito.Mockito.clearInvocations
import org.mockito.Mockito.doReturn
import org.mockito.Mockito.never
import org.mockito.Mockito.times
import org.mockito.Mockito.verify
import org.mockito.MockitoAnnotations
class LoginFormPresenterTest {
@ -35,7 +39,7 @@ class LoginFormPresenterTest {
@Test
fun initViewTest() {
verify(loginFormView).initInputs()
verify(loginFormView).initView()
}
@Test
@ -86,10 +90,11 @@ class LoginFormPresenterTest {
presenter.attemptLogin("@", "123456", "test", "https://fakelog.cf")
verify(loginFormView).hideSoftKeyboard()
verify(loginFormView).showLoginProgress(true)
verify(repository).clearCache()
verify(loginFormView).showLoginProgress(false)
verify(loginFormView).switchNextView()
verify(loginFormView).showProgress(true)
verify(loginFormView).showProgress(false)
verify(loginFormView).showContent(false)
verify(loginFormView).showContent(true)
verify(loginFormView).switchOptionsView()
}
@Test
@ -99,9 +104,10 @@ class LoginFormPresenterTest {
presenter.attemptLogin("@", "123456", "test", "https://fakelog.cf")
verify(loginFormView).hideSoftKeyboard()
verify(loginFormView).showLoginProgress(true)
verify(repository).clearCache()
verify(loginFormView).showLoginProgress(false)
verify(loginFormView).showProgress(true)
verify(loginFormView).showProgress(false)
verify(loginFormView).showContent(false)
verify(loginFormView).showContent(true)
verify(loginFormView).showSymbolInput()
}
@ -113,9 +119,10 @@ class LoginFormPresenterTest {
presenter.attemptLogin("@", "123456", "test", "https://fakelog.cf")
verify(loginFormView, times(2)).hideSoftKeyboard()
verify(loginFormView, times(2)).showLoginProgress(true)
verify(repository, times(2)).clearCache()
verify(loginFormView, times(2)).showLoginProgress(false)
verify(loginFormView, times(2)).showProgress(true)
verify(loginFormView, times(2)).showProgress(false)
verify(loginFormView, times(2)).showContent(false)
verify(loginFormView, times(2)).showContent(true)
verify(loginFormView, times(2)).showSymbolInput()
verify(loginFormView).setErrorSymbolIncorrect()
@ -129,9 +136,10 @@ class LoginFormPresenterTest {
presenter.attemptLogin("@", "123456", "test", "https://fakelog.cf")
verify(loginFormView).hideSoftKeyboard()
verify(loginFormView).showLoginProgress(true)
verify(repository).clearCache()
verify(loginFormView).showLoginProgress(false)
verify(loginFormView).showProgress(true)
verify(loginFormView).showProgress(false)
verify(loginFormView).showContent(false)
verify(loginFormView).showContent(true)
verify(errorHandler).proceed(testException)
}
}

View File

@ -9,7 +9,9 @@ import io.reactivex.Single
import org.junit.Before
import org.junit.Test
import org.mockito.Mock
import org.mockito.Mockito.*
import org.mockito.Mockito.clearInvocations
import org.mockito.Mockito.doReturn
import org.mockito.Mockito.verify
import org.mockito.MockitoAnnotations
class LoginOptionsPresenterTest {
@ -39,41 +41,40 @@ class LoginOptionsPresenterTest {
@Test
fun initViewTest() {
verify(loginOptionsView).initRecycler()
verify(loginOptionsView).initView()
}
@Test
fun refreshDataTest() {
doReturn(Single.just(listOf(testStudent))).`when`(repository).cachedStudents
presenter.refreshData()
presenter.onParentViewLoadData()
verify(loginOptionsView).showActionBar(true)
verify(loginOptionsView).updateData(listOf(LoginOptionsItem(testStudent)))
verify(repository).clearCache()
}
@Test
fun refreshDataErrorTest() {
doReturn(Single.error<List<Student>>(testException)).`when`(repository).cachedStudents
presenter.refreshData()
presenter.onParentViewLoadData()
verify(loginOptionsView).showActionBar(true)
verify(errorHandler).proceed(testException)
verify(repository).clearCache()
}
@Test
fun onSelectedStudentTest() {
doReturn(Completable.complete()).`when`(repository).saveStudent(testStudent)
presenter.onSelectStudent(testStudent)
verify(loginOptionsView).showLoginProgress(true)
presenter.onSelectItem(LoginOptionsItem(testStudent))
verify(loginOptionsView).showContent(false)
verify(loginOptionsView).showProgress(true)
verify(loginOptionsView).openMainView()
}
@Test
fun onSelectedStudentErrorTest() {
doReturn(Completable.error(testException)).`when`(repository).saveStudent(testStudent)
presenter.onSelectStudent(testStudent)
verify(loginOptionsView).showLoginProgress(true)
presenter.onSelectItem(LoginOptionsItem(testStudent))
verify(loginOptionsView).showContent(false)
verify(loginOptionsView).showProgress(true)
verify(errorHandler).proceed(testException)
}
}