package io.hypertrack.sendeta.util; import android.content.Context; import android.net.Uri; import com.hypertrack.lib.internal.common.util.TextUtils; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mockito; import org.robolectric.RobolectricGradleTestRunner; import org.robolectric.annotation.Config; import io.hypertrack.sendeta.BuildConfig; import io.hypertrack.sendeta.R; import io.hypertrack.sendeta.model.AppDeepLink; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.mockito.Mockito.when; @RunWith(RobolectricGradleTestRunner.class) @Config(sdk = 21, constants = BuildConfig.class) /** * Created by piyush on 12/05/17. */ public class DeepLinkUtilTest { private Context context; private Uri uri; @Before public void setUp() throws Exception { context = Mockito.mock(Context.class); uri = getUri(null); } @Test public void prepareAppDeepLinkTestWhenUriIsNull() throws Exception { AppDeepLink appDeepLink = DeepLinkUtil.prepareAppDeepLink(context, null); assertNotNull(appDeepLink); assertEquals(DeepLinkUtil.DEFAULT, appDeepLink.mId); assertNull(appDeepLink.taskID); assertNull(appDeepLink.lookupId); assertNull(appDeepLink.shortCode); } @Test public void prepareAppDeepLinkTestWhenUriIsNotNull() throws Exception { when(context.getString(R.string.tracking_url)).thenReturn("www.trck.at"); AppDeepLink appDeepLink = DeepLinkUtil.prepareAppDeepLink(context, uri); assertNotNull(appDeepLink); assertEquals(DeepLinkUtil.TRACK, appDeepLink.mId); assertNull(appDeepLink.taskID); assertNull(appDeepLink.lookupId); assertNotNull(appDeepLink.shortCode); } private Uri getUri(String uri) { if (TextUtils.isEmpty(uri)) { uri = "https://www.trck.at/HaCXdF"; } return Uri.parse(uri); } }