From 7ca7f3aa762b8cf26a90aa7d3c2eb19ec719518a Mon Sep 17 00:00:00 2001 From: jjbillings Date: Mon, 29 Aug 2016 12:24:11 -0500 Subject: [PATCH 1/2] Add tests for update/delete tags --- .../android/habitica/api/TagAPITests.java | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/Habitica/src/test/java/com/habitrpg/android/habitica/api/TagAPITests.java b/Habitica/src/test/java/com/habitrpg/android/habitica/api/TagAPITests.java index 498bedba6..d2abde3a8 100644 --- a/Habitica/src/test/java/com/habitrpg/android/habitica/api/TagAPITests.java +++ b/Habitica/src/test/java/com/habitrpg/android/habitica/api/TagAPITests.java @@ -1,8 +1,10 @@ package com.habitrpg.android.habitica.api; import com.habitrpg.android.habitica.BuildConfig; +import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser; import com.magicmicky.habitrpgwrapper.lib.models.Tag; +import junit.framework.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RobolectricGradleTestRunner; @@ -10,6 +12,9 @@ import org.robolectric.annotation.Config; import android.os.Build; +import java.util.List; +import java.util.UUID; + import rx.observers.TestSubscriber; @Config(constants = BuildConfig.class, sdk = Build.VERSION_CODES.M) @@ -25,6 +30,48 @@ public class TagAPITests extends BaseAPITests { testSubscriber.assertNoErrors(); testSubscriber.assertCompleted(); testSubscriber.assertValueCount(1); + + } + + @Test + public void shouldUpdateTag() { + TestSubscriber testSubscriber = new TestSubscriber<>(); + TestSubscriber userSubscriber = new TestSubscriber<>(); + + Tag t = new Tag(); + String newname = "BAR"; + t.setId(String.valueOf(UUID.randomUUID())); + t.setName(newname); + + //Get the test user so we can obtain their tags + apiHelper.apiService.getUser().subscribe(userSubscriber); + userSubscriber.assertNoErrors(); + userSubscriber.assertCompleted(); + List users = userSubscriber.getOnNextEvents(); + + //Attempt to update their first tag + String testId = users.get(0).getTags().get(0).getId(); + apiHelper.apiService.updateTag(testId,t).subscribe(testSubscriber); + testSubscriber.assertNoErrors(); + testSubscriber.assertCompleted(); + Assert.assertEquals(newname,testSubscriber.getOnNextEvents().get(0).getName()); + + } + + @Test + public void shouldDeleteTag() { + TestSubscriber testSub = new TestSubscriber<>(); + TestSubscriber userSubscriber = new TestSubscriber<>(); + + apiHelper.apiService.getUser().subscribe(userSubscriber); + userSubscriber.assertNoErrors(); + userSubscriber.assertCompleted(); + List users = userSubscriber.getOnNextEvents(); + + String testId = users.get(0).getTags().get(0).getId(); + apiHelper.apiService.deleteTag(testId).subscribe(testSub); + testSub.assertNoErrors(); + testSub.assertCompleted(); } } From b48bb6e3e8d59d2c018b9df062334dbed13dfc53 Mon Sep 17 00:00:00 2001 From: jjbillings Date: Mon, 5 Sep 2016 12:23:31 -0500 Subject: [PATCH 2/2] Refactored to getUser method --- .../android/habitica/api/BaseAPITests.java | 12 +++++++++++ .../android/habitica/api/TagAPITests.java | 21 +++---------------- 2 files changed, 15 insertions(+), 18 deletions(-) diff --git a/Habitica/src/test/java/com/habitrpg/android/habitica/api/BaseAPITests.java b/Habitica/src/test/java/com/habitrpg/android/habitica/api/BaseAPITests.java index b988738de..9f9adcae4 100644 --- a/Habitica/src/test/java/com/habitrpg/android/habitica/api/BaseAPITests.java +++ b/Habitica/src/test/java/com/habitrpg/android/habitica/api/BaseAPITests.java @@ -10,6 +10,7 @@ import com.magicmicky.habitrpgwrapper.lib.models.tasks.Task; import com.magicmicky.habitrpgwrapper.lib.models.tasks.TaskList; import org.junit.After; +import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -56,6 +57,17 @@ public class BaseAPITests { hostConfig.setApi(response.getApiToken() != null ? response.getApiToken() : response.getToken()); } + public HabitRPGUser getUser() { + TestSubscriber userSubscriber = new TestSubscriber<>(); + + apiHelper.apiService.getUser().subscribe(userSubscriber); + userSubscriber.assertNoErrors(); + userSubscriber.assertCompleted(); + List users = userSubscriber.getOnNextEvents(); + + return users.get(0); + } + @After public void tearDown() { } diff --git a/Habitica/src/test/java/com/habitrpg/android/habitica/api/TagAPITests.java b/Habitica/src/test/java/com/habitrpg/android/habitica/api/TagAPITests.java index d2abde3a8..7283f2d77 100644 --- a/Habitica/src/test/java/com/habitrpg/android/habitica/api/TagAPITests.java +++ b/Habitica/src/test/java/com/habitrpg/android/habitica/api/TagAPITests.java @@ -1,7 +1,6 @@ package com.habitrpg.android.habitica.api; import com.habitrpg.android.habitica.BuildConfig; -import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser; import com.magicmicky.habitrpgwrapper.lib.models.Tag; import junit.framework.Assert; @@ -12,7 +11,6 @@ import org.robolectric.annotation.Config; import android.os.Build; -import java.util.List; import java.util.UUID; import rx.observers.TestSubscriber; @@ -36,21 +34,14 @@ public class TagAPITests extends BaseAPITests { @Test public void shouldUpdateTag() { TestSubscriber testSubscriber = new TestSubscriber<>(); - TestSubscriber userSubscriber = new TestSubscriber<>(); Tag t = new Tag(); String newname = "BAR"; t.setId(String.valueOf(UUID.randomUUID())); t.setName(newname); - //Get the test user so we can obtain their tags - apiHelper.apiService.getUser().subscribe(userSubscriber); - userSubscriber.assertNoErrors(); - userSubscriber.assertCompleted(); - List users = userSubscriber.getOnNextEvents(); - - //Attempt to update their first tag - String testId = users.get(0).getTags().get(0).getId(); + //Attempt to update the test user's first tag + String testId = getUser().getTags().get(0).getId(); apiHelper.apiService.updateTag(testId,t).subscribe(testSubscriber); testSubscriber.assertNoErrors(); testSubscriber.assertCompleted(); @@ -61,14 +52,8 @@ public class TagAPITests extends BaseAPITests { @Test public void shouldDeleteTag() { TestSubscriber testSub = new TestSubscriber<>(); - TestSubscriber userSubscriber = new TestSubscriber<>(); - apiHelper.apiService.getUser().subscribe(userSubscriber); - userSubscriber.assertNoErrors(); - userSubscriber.assertCompleted(); - List users = userSubscriber.getOnNextEvents(); - - String testId = users.get(0).getTags().get(0).getId(); + String testId = getUser().getTags().get(0).getId(); apiHelper.apiService.deleteTag(testId).subscribe(testSub); testSub.assertNoErrors(); testSub.assertCompleted();