Skip to content

Instantly share code, notes, and snippets.

View DiegoGSantos's full-sized avatar

Diego Santos DiegoGSantos

  • will bank
  • Ribeirão Preto
View GitHub Profile
class Activity {
fun selectImage() {
if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
getImage()
} else {
askPermission()
}
}
private fun askPermission() {
@Before
fun setUpTest() {
loadKoinModules(listOf(module {
single { mockRepository }
}))
}
class Repository
class Presenter {
lateinit var repository: Repository by inject()
}
val module : Module = module {
single { Repository() }
}
@Before
fun setUpTest() {
MockitoAnnotations.initMocks(this)
}
@Test
fun test() {
Mockito.`when`(mockRepository.getList(anyInt(),anyString())).thenReturn(expectedValue)
presenter.loadList()
verify(mockView, times(1)).showLoading()
@Spy
lateinit var spyRepository: Repository
@Mock
lateinit var mockRepository: Repository
@DiegoGSantos
DiegoGSantos / ActivityManager.kt
Last active November 25, 2018 00:08
Manager for storage permission
class Activity {
val permissionManager: PermissionManager
fun selectImage() {
if (permissionManager.isStoragePermissionGranted(this)) {
getImage()
} else {
askPermission()
}
}
@Test
fun testLoginSuccess() {
val loginRobot = LoginRobot()
loginRobot
.submit()
.assertUsernameError(R.string.required_field)
.assertPasswordError(R.string.required_field)
.inputUser("valid")
.submit()
.assertPasswordError(R.string.required_field)
class ScreenRobot {
fun enterTextIntoView(@IdRes viewId: Int, text: String): T {
onView(withId(viewId)).perform(typeText(text))
closeKeyboard()
return this as T
}
}
class LoginRobot {
val dispatcher = object : Dispatcher() {
@Throws(InterruptedException::class)
override fun dispatch(request: RecordedRequest): MockResponse {
return when {
request.path == "/v1/token" -> MockResponse().setResponseCode(200).setBody(getJson("json/token.json"))
request.path == "v1/events" -> MockResponse().setResponseCode(200).setBody(getJson("json/eventos.json"))
else -> MockResponse().setResponseCode(404)
}