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() {
class Repository
class Presenter {
lateinit var repository: Repository by inject()
}
val module : Module = module {
single { Repository() }
}
@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)
}
lateinit var server: MockWebServer
@Before
fun setUp() {
server = MockWebServer()
server.start()
}
@Test
fun test() {
@Spy
lateinit var spyRepository: Repository
testImplementation 'com.squareup.okhttp3:mockwebserver:(insert latest version)'
@Before
fun setUpTest() {
MockitoAnnotations.initMocks(this)
}
@Test
fun test() {
Mockito.`when`(mockRepository.getList(anyInt(),anyString())).thenReturn(expectedValue)
presenter.loadList()
verify(mockView, times(1)).showLoading()
testCompile group: 'org.mockito', name: 'mockito-inline', version: '2.23.3'