From be25924b5083f17333636df7ddcc4d2f65d97b7f Mon Sep 17 00:00:00 2001 From: mattab <matthieu.aubry@gmail.com> Date: Wed, 1 Oct 2014 14:10:40 +1300 Subject: [PATCH] Refs #6313 Adding test case showing the bug (it creates a new visit but we want this visit to be re-used) --- .../FewVisitsWithSetVisitorIdAndUserId.php | 9 +++- ...ITest__Live.getLastVisitsDetails_range.xml | 2 +- ...torId__Live.getLastVisitsDetails_month.xml | 50 +++++++++++++------ ...serId_VisitorId__VisitsSummary.get_day.xml | 14 +++--- ...rId_VisitorId__VisitsSummary.get_month.xml | 14 +++--- ...erId_VisitorId__VisitsSummary.get_week.xml | 14 +++--- ...erId_VisitorId__VisitsSummary.get_year.xml | 12 ++--- 7 files changed, 69 insertions(+), 46 deletions(-) diff --git a/tests/PHPUnit/Fixtures/FewVisitsWithSetVisitorIdAndUserId.php b/tests/PHPUnit/Fixtures/FewVisitsWithSetVisitorIdAndUserId.php index 30accf676d..7f7fc8c3d1 100644 --- a/tests/PHPUnit/Fixtures/FewVisitsWithSetVisitorIdAndUserId.php +++ b/tests/PHPUnit/Fixtures/FewVisitsWithSetVisitorIdAndUserId.php @@ -80,12 +80,19 @@ class FewVisitsWithSetVisitorId extends Fixture private function trackVisits_setUserId() { + $userId = self::USER_ID_EXAMPLE_COM; // total = 2 visitors, 3 page views $t = self::getTracker($this->idSite, $this->dateTime, $defaultInit = true); // First, some basic tests $this->settingInvalidUserIdShouldThrow($t); + // We create a visit with no User ID. + // When User ID will be set below, then it will UPDATE this visit here that starts without UserID + $t->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(1.9)->getDatetime()); + $t->setUrl('http://example.org/no-user-id-set-but-should-appear-in-user-id-visit'); + self::checkResponse($t->doTrackPageView('no User Id set but it should appear in '. $userId .'!')); + // A NEW VISIT // Setting both Visitor ID and User ID // -> User ID takes precedence @@ -98,7 +105,6 @@ class FewVisitsWithSetVisitorId extends Fixture $this->assertEquals($generatedVisitorId, $t->getVisitorId()); // Set User ID - $userId = self::USER_ID_EXAMPLE_COM; $t->setUserId($userId); $this->assertEquals($userId, $t->getUserId()); @@ -113,7 +119,6 @@ class FewVisitsWithSetVisitorId extends Fixture $t->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(2.1)->getDatetime()); self::checkResponse($t->doTrackPageView('second page')); - // A NEW VISIT WITH A SET USER ID // Change User ID -> This will create a new visit $t->setForceVisitDateTime(Date::factory($this->dateTime)->addHour(2.2)->getDatetime()); diff --git a/tests/PHPUnit/Integration/expected/test_AutoSuggestAPITest__Live.getLastVisitsDetails_range.xml b/tests/PHPUnit/Integration/expected/test_AutoSuggestAPITest__Live.getLastVisitsDetails_range.xml index 6f772e2ef7..3b8eb5d11a 100644 --- a/tests/PHPUnit/Integration/expected/test_AutoSuggestAPITest__Live.getLastVisitsDetails_range.xml +++ b/tests/PHPUnit/Integration/expected/test_AutoSuggestAPITest__Live.getLastVisitsDetails_range.xml @@ -446,7 +446,7 @@ - <visitorType>returningCustomer</visitorType> + <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> <visitConvertedIcon>plugins/Morpheus/images/goal.png</visitConvertedIcon> diff --git a/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__Live.getLastVisitsDetails_month.xml b/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__Live.getLastVisitsDetails_month.xml index 1946cec5ba..4bab18470e 100644 --- a/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__Live.getLastVisitsDetails_month.xml +++ b/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__Live.getLastVisitsDetails_month.xml @@ -49,6 +49,24 @@ </row> <row> <idVisit>3</idVisit> + <visitorId>6be121d126d93581</visitorId> + <actionDetails> + <row> + <type>action</type> + <url>http://example.org/no-user-id-set-but-should-appear-in-user-id-visit</url> + <pageTitle>no User Id set but it should appear in email@example.com!</pageTitle> + <pageIdAction>6</pageIdAction> + <serverTimePretty>Sat 6 Mar 13:16:33</serverTimePretty> + <pageId>4</pageId> + <icon /> + </row> + </actionDetails> + <lastActionDateTime>2010-03-06 13:16:33</lastActionDateTime> + <actions>1</actions> + <userId>0</userId> + </row> + <row> + <idVisit>4</idVisit> <visitorId>9395988394d4568d</visitorId> <actionDetails> <row> @@ -57,7 +75,7 @@ <pageTitle>incredible title!</pageTitle> <pageIdAction>2</pageIdAction> <serverTimePretty>Sat 6 Mar 13:22:33</serverTimePretty> - <pageId>4</pageId> + <pageId>5</pageId> <timeSpent>360</timeSpent> <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> @@ -68,7 +86,7 @@ <pageTitle>second page</pageTitle> <pageIdAction>2</pageIdAction> <serverTimePretty>Sat 6 Mar 13:28:33</serverTimePretty> - <pageId>5</pageId> + <pageId>6</pageId> <icon /> </row> </actionDetails> @@ -77,7 +95,7 @@ <userId>email@example.com</userId> </row> <row> - <idVisit>4</idVisit> + <idVisit>5</idVisit> <visitorId>c9ade7a5a103b2ed</visitorId> <actionDetails> <row> @@ -86,7 +104,7 @@ <pageTitle>a new user id was set -> new visit</pageTitle> <pageIdAction>2</pageIdAction> <serverTimePretty>Sat 6 Mar 13:34:33</serverTimePretty> - <pageId>6</pageId> + <pageId>7</pageId> <icon /> </row> </actionDetails> @@ -95,16 +113,16 @@ <userId>new-email@example.com</userId> </row> <row> - <idVisit>5</idVisit> + <idVisit>6</idVisit> <visitorId>c9ade7a5a103b2ed</visitorId> <actionDetails> <row> <type>action</type> <url>http://example.org/home</url> <pageTitle>same user id was set -> this is the same unique user</pageTitle> - <pageIdAction>8</pageIdAction> + <pageIdAction>10</pageIdAction> <serverTimePretty>Sat 6 Mar 16:22:33</serverTimePretty> - <pageId>7</pageId> + <pageId>8</pageId> <timeSpent>360</timeSpent> <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> @@ -113,9 +131,9 @@ <type>action</type> <url>http://example.org/home</url> <pageTitle>second pageview - by this user id</pageTitle> - <pageIdAction>8</pageIdAction> + <pageIdAction>10</pageIdAction> <serverTimePretty>Sat 6 Mar 16:28:33</serverTimePretty> - <pageId>8</pageId> + <pageId>9</pageId> <icon /> </row> <row> @@ -150,16 +168,16 @@ <userId>new-email@example.com</userId> </row> <row> - <idVisit>6</idVisit> + <idVisit>7</idVisit> <visitorId>5e15b4d842cc294d</visitorId> <actionDetails> <row> <type>action</type> <url>http://example.org/home</url> <pageTitle>pageview - should not be tracked by our user id but in a new visit</pageTitle> - <pageIdAction>8</pageIdAction> + <pageIdAction>10</pageIdAction> <serverTimePretty>Sat 6 Mar 16:28:33</serverTimePretty> - <pageId>9</pageId> + <pageId>10</pageId> <icon /> </row> </actionDetails> @@ -168,7 +186,7 @@ <userId>0</userId> </row> <row> - <idVisit>7</idVisit> + <idVisit>8</idVisit> <visitorId>9395988394d4568d</visitorId> <actionDetails> <row> @@ -177,7 +195,7 @@ <pageTitle>Page view by email@example.com</pageTitle> <pageIdAction>2</pageIdAction> <serverTimePretty>Sun 14 Mar 11:22:33</serverTimePretty> - <pageId>10</pageId> + <pageId>11</pageId> <icon /> </row> </actionDetails> @@ -186,7 +204,7 @@ <userId>email@example.com</userId> </row> <row> - <idVisit>8</idVisit> + <idVisit>9</idVisit> <visitorId>72d4b5565daf5546</visitorId> <actionDetails> <row> @@ -195,7 +213,7 @@ <pageTitle>A page view by new-user-id@one-weeklater</pageTitle> <pageIdAction>2</pageIdAction> <serverTimePretty>Sun 14 Mar 11:46:33</serverTimePretty> - <pageId>11</pageId> + <pageId>12</pageId> <icon /> </row> </actionDetails> diff --git a/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_day.xml b/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_day.xml index 4a8baf7fc3..fae6d03541 100644 --- a/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_day.xml @@ -1,14 +1,14 @@ <?xml version="1.0" encoding="utf-8" ?> <result> - <nb_uniq_visitors>5</nb_uniq_visitors> + <nb_uniq_visitors>6</nb_uniq_visitors> <nb_users>2</nb_users> - <nb_visits>6</nb_visits> - <nb_actions>9</nb_actions> + <nb_visits>7</nb_visits> + <nb_actions>10</nb_actions> <nb_visits_converted>1</nb_visits_converted> - <bounce_count>3</bounce_count> + <bounce_count>4</bounce_count> <sum_visit_length>1623</sum_visit_length> <max_actions>2</max_actions> - <bounce_rate>50%</bounce_rate> - <nb_actions_per_visit>1.5</nb_actions_per_visit> - <avg_time_on_site>271</avg_time_on_site> + <bounce_rate>57%</bounce_rate> + <nb_actions_per_visit>1.4</nb_actions_per_visit> + <avg_time_on_site>232</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_month.xml b/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_month.xml index 94ed6f59e0..fb725dd44a 100644 --- a/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_month.xml @@ -1,14 +1,14 @@ <?xml version="1.0" encoding="utf-8" ?> <result> - <nb_uniq_visitors>6</nb_uniq_visitors> + <nb_uniq_visitors>7</nb_uniq_visitors> <nb_users>3</nb_users> - <nb_visits>8</nb_visits> - <nb_actions>11</nb_actions> + <nb_visits>9</nb_visits> + <nb_actions>12</nb_actions> <nb_visits_converted>1</nb_visits_converted> - <bounce_count>5</bounce_count> + <bounce_count>6</bounce_count> <sum_visit_length>1623</sum_visit_length> <max_actions>2</max_actions> - <bounce_rate>63%</bounce_rate> - <nb_actions_per_visit>1.4</nb_actions_per_visit> - <avg_time_on_site>203</avg_time_on_site> + <bounce_rate>67%</bounce_rate> + <nb_actions_per_visit>1.3</nb_actions_per_visit> + <avg_time_on_site>180</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_week.xml b/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_week.xml index 4a8baf7fc3..fae6d03541 100644 --- a/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_week.xml @@ -1,14 +1,14 @@ <?xml version="1.0" encoding="utf-8" ?> <result> - <nb_uniq_visitors>5</nb_uniq_visitors> + <nb_uniq_visitors>6</nb_uniq_visitors> <nb_users>2</nb_users> - <nb_visits>6</nb_visits> - <nb_actions>9</nb_actions> + <nb_visits>7</nb_visits> + <nb_actions>10</nb_actions> <nb_visits_converted>1</nb_visits_converted> - <bounce_count>3</bounce_count> + <bounce_count>4</bounce_count> <sum_visit_length>1623</sum_visit_length> <max_actions>2</max_actions> - <bounce_rate>50%</bounce_rate> - <nb_actions_per_visit>1.5</nb_actions_per_visit> - <avg_time_on_site>271</avg_time_on_site> + <bounce_rate>57%</bounce_rate> + <nb_actions_per_visit>1.4</nb_actions_per_visit> + <avg_time_on_site>232</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_year.xml b/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_year.xml index 107fa6ae8a..27c9a85e60 100644 --- a/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_year.xml +++ b/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_year.xml @@ -1,12 +1,12 @@ <?xml version="1.0" encoding="utf-8" ?> <result> - <nb_visits>8</nb_visits> - <nb_actions>11</nb_actions> + <nb_visits>9</nb_visits> + <nb_actions>12</nb_actions> <nb_visits_converted>1</nb_visits_converted> - <bounce_count>5</bounce_count> + <bounce_count>6</bounce_count> <sum_visit_length>1623</sum_visit_length> <max_actions>2</max_actions> - <bounce_rate>63%</bounce_rate> - <nb_actions_per_visit>1.4</nb_actions_per_visit> - <avg_time_on_site>203</avg_time_on_site> + <bounce_rate>67%</bounce_rate> + <nb_actions_per_visit>1.3</nb_actions_per_visit> + <avg_time_on_site>180</avg_time_on_site> </result> \ No newline at end of file -- GitLab