diff --git a/sample/src/androidTest/java/org/aerogear/graphqlandroid/InstrumentedTest.kt b/sample/src/androidTest/java/org/aerogear/graphqlandroid/InstrumentedTest.kt new file mode 100644 index 0000000..9d7fb03 --- /dev/null +++ b/sample/src/androidTest/java/org/aerogear/graphqlandroid/InstrumentedTest.kt @@ -0,0 +1,188 @@ +package org.aerogear.graphqlandroid + +import android.support.test.InstrumentationRegistry +import android.support.test.runner.AndroidJUnit4 +import com.apollographql.apollo.ApolloCall +import com.apollographql.apollo.ApolloQueryWatcher +import com.apollographql.apollo.api.Response +import com.apollographql.apollo.exception.ApolloException +import com.apollographql.apollo.fetcher.ApolloResponseFetchers +import org.aerogear.graphqlandroid.type.TaskInput +import org.aerogear.graphqlandroid.type.UserInput +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +@RunWith(AndroidJUnit4::class) +class InstrumentedTest { + + val appContext = InstrumentationRegistry.getTargetContext() + + @Test + fun useAppContext() { + val appContext = InstrumentationRegistry.getTargetContext() + assertEquals("org.aerogear.graphqlandroid", appContext.packageName) + } + + @Test + fun findAllTaskQuery() { + FindAllTasksQuery.builder()?.build()?.let { + Utils.getApolloClient(appContext)?.query(it) + ?.responseFetcher(ApolloResponseFetchers.NETWORK_FIRST) + ?.enqueue(object : ApolloCall.Callback() { + + override fun onFailure(e: ApolloException) { + assertTrue(false) + } + + override fun onResponse(response: Response) { + assertTrue(true) + } + }) + } + } + + @Test + fun findAllUsersQuery(){ + FindAllUsersQuery.builder()?.build()?.let { + Utils.getApolloClient(appContext)?.query(it) + ?.responseFetcher(ApolloResponseFetchers.NETWORK_FIRST) + ?.enqueue(object : ApolloCall.Callback() { + + override fun onFailure(e: ApolloException) { + assertTrue(false) + } + + override fun onResponse(response: Response) { + assertTrue(true) + } + + }) + } + } + + @Test + fun createUser(){ + val input = UserInput.builder() + .title("TestUser") + .lastName("L-N") + .firstName("F-N") + .email("tester015875@protonmail.com") + .taskId("0") + .creationmetadataId("0") + .build() + + val mutation = CreateUserMutation.builder().input(input).build() + + val apolloMutation : ApolloQueryWatcher? = null + + Utils.getApolloClient(appContext) + ?.mutate(mutation) + ?.refetchQueries(apolloMutation?.operation()?.name()) + ?.enqueue(object : ApolloCall.Callback() { + + override fun onFailure(e: ApolloException) { + assertTrue(false) + } + + override fun onResponse(response: Response) { + response.data()?.createUser()?.let { + assertTrue(true) + } + } + }) + } + + @Test + fun createTask(){ + val input = TaskInput.builder() + .title("test") + .description("This is a test task") + .version(1) + .status("testing") + .build() + + val mutation = CreateTaskMutation.builder().input(input).build() + + val apolloMutation : ApolloQueryWatcher? = null + + Utils.getApolloClient(appContext) + ?.mutate(mutation) + ?.refetchQueries(apolloMutation?.operation()?.name()) + ?.enqueue(object: ApolloCall.Callback() { + + override fun onFailure(e: ApolloException) { + assertTrue(false) + } + + override fun onResponse(response: Response) { + assertTrue(true) + } + + }) + + } + + @Test + fun updateTask(){ + + val input = TaskInput.builder() + .title("test") + .description("This is a test task") + .version(1) + .status("testing") + .build() + + val mutation = UpdateTaskMutation.builder().id("0").input(input).build() + + val apolloMutation : ApolloQueryWatcher? = null + + Utils.getApolloClient(appContext) + ?.mutate(mutation) + ?.refetchQueries(apolloMutation?.operation()?.name()) + ?.enqueue(object : ApolloCall.Callback() { + + override fun onFailure(e: ApolloException) { + assertTrue(false) + } + + override fun onResponse(response: Response) { + assertTrue(true) + } + + }) + + } + + @Test + fun checkAndUpdateTask(){ + + val mutation = CheckAndUpdateTaskMutation.builder() + .id("0") + .title("test") + .description("This is a test task") + .version(1) + .status("testing") + .build() + + val apolloMutation : ApolloQueryWatcher? = null + + Utils.getApolloClient(appContext) + ?.mutate(mutation) + ?.refetchQueries(apolloMutation?.operation()?.name()) + ?.enqueue(object : ApolloCall.Callback() { + + override fun onFailure(e: ApolloException) { + assertTrue(false) + } + + override fun onResponse(response: Response) { + assertTrue(true) + } + + }) + + } + +}