package com.kickstarter.services; import android.net.Uri; import com.kickstarter.KSRobolectricTestCase; import org.junit.Test; public final class KSUriTest extends KSRobolectricTestCase { private final Uri discoverCategoriesUri = Uri.parse("https://www.ksr.com/discover/categories/art"); private final Uri discoverScopeUri = Uri.parse("https://www.kickstarter.com/discover/ending-soon"); private final Uri discoverPlacesUri = Uri.parse("https://www.ksr.com/discover/places/newest"); private final String webEndpoint = "https://www.ksr.com"; private final Uri projectUri = Uri.parse("https://www.ksr.com/projects/creator/project"); private final Uri updatesUri = Uri.parse("https://www.ksr.com/projects/creator/project/posts"); private final Uri updateUri = Uri.parse("https://www.ksr.com/projects/creator/project/posts/id"); @Test public void testKSUri_isDiscoverCategoriesPath() { assertTrue(KSUri.isDiscoverCategoriesPath(discoverCategoriesUri.getPath())); assertFalse(KSUri.isDiscoverCategoriesPath(discoverPlacesUri.getPath())); } @Test public void testKSUri_isDiscoverPlacesPath() { assertTrue(KSUri.isDiscoverPlacesPath(discoverPlacesUri.getPath())); assertFalse(KSUri.isDiscoverPlacesPath(discoverCategoriesUri.getPath())); } @Test public void testKSUri_isDiscoverScopePath() { assertTrue(KSUri.isDiscoverScopePath(discoverScopeUri.getPath(), "ending-soon")); } @Test public void testKSUri_isKickstarterUri() { final Uri ksrUri = Uri.parse("https://www.ksr.com/discover"); final Uri uri = Uri.parse("https://www.hello-world.org/goodbye"); assertTrue(KSUri.isKickstarterUri(ksrUri, webEndpoint)); assertFalse(KSUri.isKickstarterUri(uri, webEndpoint)); } @Test public void testKSUri_isModalUri() { final Uri modalUri = Uri.parse("https://www.ksr.com/project?modal=true"); assertTrue(KSUri.isModalUri(modalUri, webEndpoint)); assertFalse(KSUri.isModalUri(projectUri, webEndpoint)); } @Test public void testKSUri_isProjectUpdateCommentsUri() { final Uri updateCommentsUri = Uri.parse("https://www.ksr.com/projects/creator/project/posts/id/comments"); assertTrue(KSUri.isProjectUpdateCommentsUri(updateCommentsUri, webEndpoint)); assertFalse(KSUri.isProjectUpdateCommentsUri(updatesUri, webEndpoint)); } @Test public void testKSUri_isProjectUpdateUri() { assertTrue(KSUri.isProjectUpdateUri(updateUri, webEndpoint)); assertFalse(KSUri.isProjectUpdateUri(updatesUri, webEndpoint)); } @Test public void testKSUri_isProjectUpdatesUri() { assertTrue(KSUri.isProjectUpdatesUri(updatesUri, webEndpoint)); assertFalse(KSUri.isProjectUpdatesUri(updateUri, webEndpoint)); } @Test public void testKSUri_isProjectUri() { assertTrue(KSUri.isProjectUri(projectUri, webEndpoint)); assertFalse(KSUri.isProjectUri(updateUri, webEndpoint)); } }