diff --git a/library/src/main/java/com/queue_it/androidsdk/UriOverrider.java b/library/src/main/java/com/queue_it/androidsdk/UriOverrider.java index 437a9ed..b355d28 100644 --- a/library/src/main/java/com/queue_it/androidsdk/UriOverrider.java +++ b/library/src/main/java/com/queue_it/androidsdk/UriOverrider.java @@ -50,7 +50,7 @@ private boolean isTargetUri(Uri destinationUri) { String destinationPath = destinationUri.getPath(); String targetHost = target.getHost(); - String targetPath = destinationUri.getPath(); + String targetPath = target.getPath(); return destinationHost.equalsIgnoreCase(targetHost) && destinationPath.equals(targetPath); diff --git a/library/src/test/java/com/queue_it/androidsdk/UriOverriderTest.java b/library/src/test/java/com/queue_it/androidsdk/UriOverriderTest.java index b9420a3..7504ce2 100644 --- a/library/src/test/java/com/queue_it/androidsdk/UriOverriderTest.java +++ b/library/src/test/java/com/queue_it/androidsdk/UriOverriderTest.java @@ -230,6 +230,44 @@ protected void onSessionRestart() { verify(webView.getContext()).startActivity(argument.capture()); } + @Test + public void givenUserIsNavigatingToOtherPathThenLoadShouldBeCancelledAndIntentShouldBeStarted() { + UriOverrider testObj = new UriOverrider(); + testObj.setQueue(Uri.parse("https://useraccount.queue-it.net/app/enqueue")); + testObj.setTarget(Uri.parse("https://www.qoqa.ch/")); + WebView webView = getMockedWebview(); + final AtomicBoolean queuePassed = new AtomicBoolean(false); + ArgumentCaptor argument = ArgumentCaptor.forClass(Intent.class); + String otherPage = "https://www.qoqa.ch/concept"; + + boolean loadCancelled = testObj.handleNavigationRequest(otherPage, webView, new UriOverrideWrapper() { + @Override + protected void onQueueUrlChange(String uri) { + System.out.print(uri); + } + + @Override + protected void onPassed(String queueItToken) { + queuePassed.set(true); + } + + @Override + protected void onCloseClicked() { + + } + + @Override + protected void onSessionRestart() { + + } + }); + + assertTrue(loadCancelled); + assertFalse(queuePassed.get()); + + verify(webView.getContext()).startActivity(argument.capture()); + } + @Test public void givenAppUserIsRedirectedToDeepLinkThenLoadShouldBeCancelled() { UriOverrider testObj = new UriOverrider();