@Override public void onClick(View v) { TrackHelper.track().screens(getApplication()).with(((MatomoApplication) getApplication()).getTracker()); } });
@Override public void onClick(View v) { TrackHelper.track().screens(getApplication()).with(((MatomoApplication) getApplication()).getTracker()); } });
@Test public void testDownloadCustomVersion() throws Exception { DownloadTracker downloadTracker = mock(DownloadTracker.class); String version = UUID.randomUUID().toString(); track().download(downloadTracker).version(version).with(mTracker); verify(downloadTracker).setVersion(version); verify(downloadTracker).trackOnce(any(TrackMe.class), any(DownloadTracker.Extra.class)); }
@Test public void testDownloadCustomVersion() throws Exception { DownloadTracker downloadTracker = mock(DownloadTracker.class); String version = UUID.randomUUID().toString(); track().download(downloadTracker).version(version).with(mTracker); verify(downloadTracker).setVersion(version); verify(downloadTracker).trackOnce(any(TrackMe.class), any(DownloadTracker.Extra.class)); }
@Test public void testDownloadTrackForced() throws Exception { DownloadTracker downloadTracker = mock(DownloadTracker.class); track().download(downloadTracker).force().with(mTracker); verify(downloadTracker).trackNewAppDownload(any(TrackMe.class), any(DownloadTracker.Extra.None.class)); }
@Test public void testBaseEvent() { track().screen("/path").with(mMatomoApplication); verify(mMatomoApplication).getTracker(); verify(mTracker).track(any(TrackMe.class)); }
@Test public void testTrackScreenView() throws Exception { track().screen("/test/test").title("title").with(mTracker); verify(mTracker).track(mCaptor.capture()); assertTrue(mCaptor.getValue().get(QueryParams.URL_PATH).endsWith("/test/test")); }
@Test public void testApplicationDomain() { when(mTrackerBuilder.getApplicationBaseUrl()).thenReturn("http://my-domain.com"); Tracker tracker = new Tracker(mMatomo, mTrackerBuilder); TrackHelper.track().screen("test/test").title("Test title").with(tracker); verify(mDispatcher).submit(mCaptor.capture()); validateDefaultQuery(mCaptor.getValue()); assertTrue(mCaptor.getValue().get(QueryParams.URL_PATH).equals("http://my-domain.com/test/test")); }
@Test public void testSetScreenCustomVariable() throws Exception { track() .screen("") .variable(1, "2", "3") .with(mTracker); verify(mTracker).track(mCaptor.capture()); assertEquals("{'1':['2','3']}".replaceAll("'", "\""), mCaptor.getValue().get(QueryParams.SCREEN_SCOPE_CUSTOM_VARIABLES)); }
@Test public void testTrackGoal() throws Exception { track().goal(1).with(mTracker); verify(mTracker).track(mCaptor.capture()); assertNull(mCaptor.getValue().get(QueryParams.REVENUE)); assertEquals(mCaptor.getValue().get(QueryParams.GOAL_ID), "1"); }
@Test public void testTrackScreenWithTitleView() throws Exception { track().screen("/test/test").title("Test title").with(mTracker); verify(mTracker).track(mCaptor.capture()); assertTrue(mCaptor.getValue().get(QueryParams.URL_PATH).endsWith("/test/test")); assertEquals(mCaptor.getValue().get(QueryParams.ACTION_NAME), "Test title"); }
@Test public void testTrackScreenWithTitleView() throws Exception { track().screen("/test/test").title("Test title").with(mTracker); verify(mTracker).track(mCaptor.capture()); assertTrue(mCaptor.getValue().get(QueryParams.URL_PATH).endsWith("/test/test")); assertEquals(mCaptor.getValue().get(QueryParams.ACTION_NAME), "Test title"); }
@Test public void testTrackGoalRevenue() throws Exception { track().goal(1).revenue(100f).with(mTracker); verify(mTracker).track(mCaptor.capture()); assertEquals("1", mCaptor.getValue().get(QueryParams.GOAL_ID)); assertTrue(100f == Float.valueOf(mCaptor.getValue().get(QueryParams.REVENUE))); }
@Test public void testTrackScreenWithCampaignView() { track().screen("/test/test").campaign("campaign_name", "campaign_keyword").with(mTracker); verify(mTracker).track(mCaptor.capture()); assertTrue(mCaptor.getValue().get(QueryParams.URL_PATH).endsWith("/test/test")); assertEquals(mCaptor.getValue().get(QueryParams.CAMPAIGN_NAME), "campaign_name"); assertEquals(mCaptor.getValue().get(QueryParams.CAMPAIGN_KEYWORD), "campaign_keyword"); }
@Test public void testSetNewSession() { Tracker tracker = new Tracker(mMatomo, mTrackerBuilder); TrackMe trackMe = new TrackMe(); tracker.track(trackMe); verify(mDispatcher).submit(mCaptor.capture()); assertEquals("1", mCaptor.getValue().get(QueryParams.SESSION_START)); tracker.startNewSession(); TrackHelper.track().screen("").with(tracker); verify(mDispatcher, times(2)).submit(mCaptor.capture()); assertEquals("1", mCaptor.getValue().get(QueryParams.SESSION_START)); }
@Test public void testTrackEventNameAndValue() throws Exception { String name = "test name3"; track().event("category", "test action").name(name).value(1f).with(mTracker); verify(mTracker).track(mCaptor.capture()); TrackMe tracked = mCaptor.getValue(); assertEquals(tracked.get(QueryParams.EVENT_CATEGORY), "category"); assertEquals(tracked.get(QueryParams.EVENT_ACTION), "test action"); assertEquals(tracked.get(QueryParams.EVENT_NAME), name); assertEquals(String.valueOf(tracked.get(QueryParams.EVENT_VALUE)), String.valueOf(1f)); }
@Test public void testTrackEventName() throws Exception { String name = "test name2"; track().event("category", "test action").name(name).with(mTracker); verify(mTracker).track(mCaptor.capture()); TrackMe tracked = mCaptor.getValue(); assertEquals(tracked.get(QueryParams.EVENT_CATEGORY), "category"); assertEquals(tracked.get(QueryParams.EVENT_ACTION), "test action"); assertEquals(tracked.get(QueryParams.EVENT_NAME), name); }
@Test public void testTrackEventNameAndValueWithpath() throws Exception { track().event("category", "test action").name("test name3").path("/path").value(1f).with(mTracker); verify(mTracker).track(mCaptor.capture()); TrackMe tracked = mCaptor.getValue(); assertEquals(tracked.get(QueryParams.EVENT_CATEGORY), "category"); assertEquals(tracked.get(QueryParams.EVENT_ACTION), "test action"); assertEquals(tracked.get(QueryParams.EVENT_NAME), "test name3"); assertEquals(tracked.get(QueryParams.URL_PATH), "/path"); assertEquals(String.valueOf(tracked.get(QueryParams.EVENT_VALUE)), String.valueOf(1f)); }
@Test public void testTrackEventNameAndValueWithpath() throws Exception { track().event("category", "test action").name("test name3").path("/path").value(1f).with(mTracker); verify(mTracker).track(mCaptor.capture()); TrackMe tracked = mCaptor.getValue(); assertEquals(tracked.get(QueryParams.EVENT_CATEGORY), "category"); assertEquals(tracked.get(QueryParams.EVENT_ACTION), "test action"); assertEquals(tracked.get(QueryParams.EVENT_NAME), "test name3"); assertEquals(tracked.get(QueryParams.URL_PATH), "/path"); assertEquals(String.valueOf(tracked.get(QueryParams.EVENT_VALUE)), String.valueOf(1f)); }
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) @Test public void testAutoBindActivities() { Application app = Robolectric.application; Tracker tracker = createTracker(); tracker.setDryRunTarget(Collections.synchronizedList(new ArrayList<>())); //auto attach tracking screen view TrackHelper.track().screens(app).with(tracker); // emulate default trackScreenView Robolectric.buildActivity(TestActivity.class).create().start().resume().visible().get(); assertEquals(TestActivity.getTestTitle(), new QueryHashMap(tracker.getLastEventX()).get(QueryParams.ACTION_NAME)); }