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 498bedba6..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 @@ -3,6 +3,7 @@ package com.habitrpg.android.habitica.api; import com.habitrpg.android.habitica.BuildConfig; 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 +11,8 @@ import org.robolectric.annotation.Config; import android.os.Build; +import java.util.UUID; + import rx.observers.TestSubscriber; @Config(constants = BuildConfig.class, sdk = Build.VERSION_CODES.M) @@ -25,6 +28,35 @@ public class TagAPITests extends BaseAPITests { testSubscriber.assertNoErrors(); testSubscriber.assertCompleted(); testSubscriber.assertValueCount(1); + + } + + @Test + public void shouldUpdateTag() { + TestSubscriber testSubscriber = new TestSubscriber<>(); + + Tag t = new Tag(); + String newname = "BAR"; + t.setId(String.valueOf(UUID.randomUUID())); + t.setName(newname); + + //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(); + Assert.assertEquals(newname,testSubscriber.getOnNextEvents().get(0).getName()); + + } + + @Test + public void shouldDeleteTag() { + TestSubscriber testSub = new TestSubscriber<>(); + + String testId = getUser().getTags().get(0).getId(); + apiHelper.apiService.deleteTag(testId).subscribe(testSub); + testSub.assertNoErrors(); + testSub.assertCompleted(); } }