diff options
author | diosmosis <diosmosis@users.noreply.github.com> | 2019-04-11 04:02:58 +0300 |
---|---|---|
committer | Thomas Steur <tsteur@users.noreply.github.com> | 2019-04-11 04:02:58 +0300 |
commit | 12416e0e60d0792d5d84c688b64a6aab16f26c91 (patch) | |
tree | 0e731b21acc4d93fc17e3c3afdaf0ba34db08221 /plugins/Ecommerce | |
parent | 751fd191140048161a5844d1241d811e8ac0a847 (diff) |
Display all product categories if present in the visitor log (#14083)
* Query and show all product categories not just the first in the visitor log.
* Fix SQL + processing
* Allow XML renderer to render array of simple values.
* Add unit test for xml renderer.
* Add second product category to fixture, update test files and update omnifixture.
* Update some expected test files.
Diffstat (limited to 'plugins/Ecommerce')
16 files changed, 284 insertions, 61 deletions
diff --git a/plugins/Ecommerce/VisitorDetails.php b/plugins/Ecommerce/VisitorDetails.php index f04f38f01d..3dfd7eb3e6 100644 --- a/plugins/Ecommerce/VisitorDetails.php +++ b/plugins/Ecommerce/VisitorDetails.php @@ -24,6 +24,8 @@ use Piwik\View; class VisitorDetails extends VisitorDetailsAbstract { + const CATEGORY_COUNT = 5; + public function extendVisitorDetails(&$visitor) { $ecommerceMetrics = $this->queryEcommerceConversionsVisitorLifeTimeMetricsForVisitor($visitor['idSite'], @@ -165,10 +167,22 @@ class VisitorDetails extends VisitorDetailsAbstract */ protected function queryEcommerceItemsForOrder($idVisit, $idOrder) { + $categorySelects = []; + $categoryJoins = []; + for ($i = 0; $i < self::CATEGORY_COUNT; ++$i) { + $suffix = $i === 0 ? '' : $i; + $column = $i === 0 ? 'idaction_category' : ('idaction_category' . ($i + 1)); + $categorySelects[] = 'log_action_category' . $suffix . '.name as itemCategory' . $suffix; + $categoryJoins[] = 'LEFT JOIN ' . Common::prefixTable('log_action') . " AS log_action_category$suffix + ON $column = log_action_category$suffix.idaction"; + } + $categorySelects = implode(',', $categorySelects); + $categoryJoins = implode("\n", $categoryJoins); + $sql = "SELECT log_action_sku.name as itemSKU, log_action_name.name as itemName, - log_action_category.name as itemCategory, + $categorySelects, " . LogAggregator::getSqlRevenue('price') . " as price, quantity as quantity FROM " . Common::prefixTable('log_conversion_item') . " @@ -176,8 +190,7 @@ class VisitorDetails extends VisitorDetailsAbstract ON idaction_sku = log_action_sku.idaction LEFT JOIN " . Common::prefixTable('log_action') . " AS log_action_name ON idaction_name = log_action_name.idaction - LEFT JOIN " . Common::prefixTable('log_action') . " AS log_action_category - ON idaction_category = log_action_category.idaction + $categoryJoins WHERE idvisit = ? AND idorder = ? AND deleted = 0 @@ -186,6 +199,26 @@ class VisitorDetails extends VisitorDetailsAbstract $bind = array($idVisit, $idOrder); $itemsDetails = Db::fetchAll($sql, $bind); + + // create categories array for each item + foreach ($itemsDetails as &$item) { + $categories = []; + for ($i = 0; $i < self::CATEGORY_COUNT; ++$i) { + $suffix = $i === 0 ? '' : $i; + if (empty($item['itemCategory' . $suffix])) { + continue; + } + + $categories[] = trim($item['itemCategory' . $suffix]); + } + $item['categories'] = array_filter($categories); + + // remove itemCategotyN properties, except 'itemCategory' property for BC + for ($i = 1; $i < self::CATEGORY_COUNT; ++$i) { + unset($item['itemCategory' . $i]); + } + } + return $itemsDetails; } diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_AbandonedCarts__Goals.getItemsCategory_day.xml b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_AbandonedCarts__Goals.getItemsCategory_day.xml index b27ccd173e..68c9d35408 100644 --- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_AbandonedCarts__Goals.getItemsCategory_day.xml +++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_AbandonedCarts__Goals.getItemsCategory_day.xml @@ -13,6 +13,18 @@ <conversion_rate>100%</conversion_rate> </row> <row> + <label>second category</label> + <revenue>4000</revenue> + <quantity>4</quantity> + <nb_uniq_visitors>1</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_actions>2</nb_actions> + <abandoned_carts>2</abandoned_carts> + <avg_price>1000</avg_price> + <avg_quantity>2</avg_quantity> + <conversion_rate>100%</conversion_rate> + </row> + <row> <label>Product Category not defined</label> <revenue>1000.22</revenue> <quantity>2</quantity> diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_AbandonedCarts__Goals.getItemsCategory_week.xml b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_AbandonedCarts__Goals.getItemsCategory_week.xml index b29f7fd16b..e3eefe60c0 100644 --- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_AbandonedCarts__Goals.getItemsCategory_week.xml +++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_AbandonedCarts__Goals.getItemsCategory_week.xml @@ -13,6 +13,18 @@ <conversion_rate>100%</conversion_rate> </row> <row> + <label>second category</label> + <revenue>6000</revenue> + <quantity>6</quantity> + <nb_visits>3</nb_visits> + <nb_actions>3</nb_actions> + <sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors> + <abandoned_carts>3</abandoned_carts> + <avg_price>1000</avg_price> + <avg_quantity>2</avg_quantity> + <conversion_rate>100%</conversion_rate> + </row> + <row> <label>Product Category not defined</label> <revenue>1500.33</revenue> <quantity>3</quantity> diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_LiveEcommerceStatusOrdered__Live.getLastVisitsDetails_day.xml b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_LiveEcommerceStatusOrdered__Live.getLastVisitsDetails_day.xml index cdc3b4ec4b..cdb138d70c 100644 --- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_LiveEcommerceStatusOrdered__Live.getLastVisitsDetails_day.xml +++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_LiveEcommerceStatusOrdered__Live.getLastVisitsDetails_day.xml @@ -24,6 +24,9 @@ <itemCategory>Tools</itemCategory> <price>100</price> <quantity>2</quantity> + <categories> + <row>Tools</row> + </categories> </row> </itemDetails> <icon>plugins/Morpheus/images/ecommerceOrder.png</icon> @@ -269,7 +272,7 @@ </row> <row> <customVariablePageName5>_pkc</customVariablePageName5> - <customVariablePageValue5>Category TWO LEFT in cart</customVariablePageValue5> + <customVariablePageValue5>["Category TWO LEFT in cart","second category"]</customVariablePageValue5> </row> </customVariables> <bandwidth_pretty>0 M</bandwidth_pretty> @@ -286,6 +289,9 @@ <itemCategory>Electronics & Cameras</itemCategory> <price>10</price> <quantity>1</quantity> + <categories> + <row>Electronics & Cameras</row> + </categories> </row> <row> <itemSKU>SKU IN ABANDONED CART ONE</itemSKU> @@ -293,6 +299,8 @@ <itemCategory /> <price>500.11</price> <quantity>1</quantity> + <categories> + </categories> </row> <row> <itemSKU>SKU IN ABANDONED CART TWO</itemSKU> @@ -300,6 +308,10 @@ <itemCategory>Category TWO LEFT in cart</itemCategory> <price>1000</price> <quantity>2</quantity> + <categories> + <row>Category TWO LEFT in cart</row> + <row>second category</row> + </categories> </row> </itemDetails> <icon>plugins/Morpheus/images/ecommerceAbandonedCart.png</icon> diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_Metadata_ItemsCategory__API.getProcessedReport_day.xml b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_Metadata_ItemsCategory__API.getProcessedReport_day.xml index 9aa49fb80e..2ee0296d6e 100644 --- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_Metadata_ItemsCategory__API.getProcessedReport_day.xml +++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_Metadata_ItemsCategory__API.getProcessedReport_day.xml @@ -105,6 +105,16 @@ <quantity>0</quantity> <orders>0</orders> </row> + <row> + <label>second category</label> + <nb_visits>2</nb_visits> + <avg_price>$ 0</avg_price> + <avg_quantity>0</avg_quantity> + <conversion_rate>0%</conversion_rate> + <revenue>$ 0</revenue> + <quantity>0</quantity> + <orders>0</orders> + </row> </reportData> <reportMetadata /> <reportTotal> @@ -112,8 +122,8 @@ <quantity>18</quantity> <price>4111.22</price> <orders>8</orders> - <nb_uniq_visitors>8</nb_uniq_visitors> - <nb_visits>12</nb_visits> - <nb_actions>17</nb_actions> + <nb_uniq_visitors>9</nb_uniq_visitors> + <nb_visits>14</nb_visits> + <nb_actions>19</nb_actions> </reportTotal> </result>
\ No newline at end of file diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsCategory_day.xml b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsCategory_day.xml index 804665bad4..9d4fb1b262 100644 --- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsCategory_day.xml +++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsCategory_day.xml @@ -81,4 +81,13 @@ <avg_quantity>0</avg_quantity> <conversion_rate>0%</conversion_rate> </row> + <row> + <label>second category</label> + <nb_uniq_visitors>1</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_actions>2</nb_actions> + <avg_price>0</avg_price> + <avg_quantity>0</avg_quantity> + <conversion_rate>0%</conversion_rate> + </row> </result>
\ No newline at end of file diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsCategory_week.xml b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsCategory_week.xml index b9b5688155..982f9a7258 100644 --- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsCategory_week.xml +++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_SegmentPageUrlContains__Goals.getItemsCategory_week.xml @@ -81,4 +81,13 @@ <avg_quantity>0</avg_quantity> <conversion_rate>0%</conversion_rate> </row> + <row> + <label>second category</label> + <nb_visits>3</nb_visits> + <nb_actions>3</nb_actions> + <sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors> + <avg_price>0</avg_price> + <avg_quantity>0</avg_quantity> + <conversion_rate>0%</conversion_rate> + </row> </result>
\ No newline at end of file diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__CustomVariables.getCustomVariables_day.xml b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__CustomVariables.getCustomVariables_day.xml index caf12153e5..f4c932cd2c 100644 --- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__CustomVariables.getCustomVariables_day.xml +++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__CustomVariables.getCustomVariables_day.xml @@ -155,57 +155,6 @@ </subtable> </row> <row> - <label>_pkc</label> - <nb_visits>7</nb_visits> - <nb_actions>12</nb_actions> - <slots> - <row> - <scope>page</scope> - <index>5</index> - </row> - </slots> - <segment>customVariableName==_pkc</segment> - <subtable> - <row> - <label>Electronics & Cameras</label> - <nb_visits>3</nb_visits> - <nb_actions>6</nb_actions> - <price_viewed>814.37</price_viewed> - </row> - <row> - <label>Value not defined</label> - <nb_visits>3</nb_visits> - <nb_actions>5</nb_actions> - <price_viewed>710.4</price_viewed> - </row> - <row> - <label>Category TWO LEFT in cart</label> - <nb_visits>2</nb_visits> - <nb_actions>2</nb_actions> - </row> - <row> - <label>Multiple Category 1</label> - <nb_visits>1</nb_visits> - <nb_actions>1</nb_actions> - </row> - <row> - <label>Multiple Category 2</label> - <nb_visits>1</nb_visits> - <nb_actions>1</nb_actions> - </row> - <row> - <label>Multiple Category 4</label> - <nb_visits>1</nb_visits> - <nb_actions>1</nb_actions> - </row> - <row> - <label>Multiple Category 5</label> - <nb_visits>1</nb_visits> - <nb_actions>1</nb_actions> - </row> - </subtable> - </row> - <row> <label>_pkn</label> <nb_visits>6</nb_visits> <nb_actions>11</nb_actions> @@ -268,6 +217,62 @@ </subtable> </row> <row> + <label>_pkc</label> + <nb_visits>5</nb_visits> + <nb_actions>10</nb_actions> + <slots> + <row> + <scope>page</scope> + <index>5</index> + </row> + </slots> + <segment>customVariableName==_pkc</segment> + <subtable> + <row> + <label>Electronics & Cameras</label> + <nb_visits>3</nb_visits> + <nb_actions>6</nb_actions> + <price_viewed>814.37</price_viewed> + </row> + <row> + <label>Value not defined</label> + <nb_visits>3</nb_visits> + <nb_actions>5</nb_actions> + <price_viewed>710.4</price_viewed> + </row> + <row> + <label>Category TWO LEFT in cart</label> + <nb_visits>2</nb_visits> + <nb_actions>2</nb_actions> + </row> + <row> + <label>second category</label> + <nb_visits>2</nb_visits> + <nb_actions>2</nb_actions> + </row> + <row> + <label>Multiple Category 1</label> + <nb_visits>1</nb_visits> + <nb_actions>1</nb_actions> + </row> + <row> + <label>Multiple Category 2</label> + <nb_visits>1</nb_visits> + <nb_actions>1</nb_actions> + </row> + <row> + <label>Multiple Category 4</label> + <nb_visits>1</nb_visits> + <nb_actions>1</nb_actions> + </row> + <row> + <label>Multiple Category 5</label> + <nb_visits>1</nb_visits> + <nb_actions>1</nb_actions> + </row> + </subtable> + </row> + <row> <label>VisitorName</label> <nb_visits>2</nb_visits> <nb_actions>9</nb_actions> diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__Goals.getItemsCategory_day.xml b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__Goals.getItemsCategory_day.xml index 4b0694c88f..ceefbebe55 100644 --- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__Goals.getItemsCategory_day.xml +++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__Goals.getItemsCategory_day.xml @@ -81,4 +81,13 @@ <avg_quantity>0</avg_quantity> <conversion_rate>0%</conversion_rate> </row> + <row> + <label>second category</label> + <nb_uniq_visitors>1</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_actions>2</nb_actions> + <avg_price>0</avg_price> + <avg_quantity>0</avg_quantity> + <conversion_rate>0%</conversion_rate> + </row> </result>
\ No newline at end of file diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__Goals.getItemsCategory_week.xml b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__Goals.getItemsCategory_week.xml index 96af10c76f..7deaac25b8 100644 --- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__Goals.getItemsCategory_week.xml +++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__Goals.getItemsCategory_week.xml @@ -90,4 +90,13 @@ <avg_quantity>0</avg_quantity> <conversion_rate>0%</conversion_rate> </row> + <row> + <label>second category</label> + <nb_visits>3</nb_visits> + <nb_actions>3</nb_actions> + <sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors> + <avg_price>0</avg_price> + <avg_quantity>0</avg_quantity> + <conversion_rate>0%</conversion_rate> + </row> </result>
\ No newline at end of file diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__Live.getLastVisitsDetails_day.xml b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__Live.getLastVisitsDetails_day.xml index 67f8b99cea..a5df52b03b 100644 --- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__Live.getLastVisitsDetails_day.xml +++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__Live.getLastVisitsDetails_day.xml @@ -109,7 +109,7 @@ </row> <row> <customVariablePageName5>_pkc</customVariablePageName5> - <customVariablePageValue5>Category TWO LEFT in cart</customVariablePageValue5> + <customVariablePageValue5>["Category TWO LEFT in cart","second category"]</customVariablePageValue5> </row> </customVariables> <bandwidth_pretty>0 M</bandwidth_pretty> @@ -126,6 +126,9 @@ <itemCategory>Electronics & Cameras</itemCategory> <price>10</price> <quantity>1</quantity> + <categories> + <row>Electronics & Cameras</row> + </categories> </row> <row> <itemSKU>SKU IN ABANDONED CART ONE</itemSKU> @@ -133,6 +136,8 @@ <itemCategory /> <price>500.11</price> <quantity>1</quantity> + <categories> + </categories> </row> <row> <itemSKU>SKU IN ABANDONED CART TWO</itemSKU> @@ -140,6 +145,10 @@ <itemCategory>Category TWO LEFT in cart</itemCategory> <price>1000</price> <quantity>2</quantity> + <categories> + <row>Category TWO LEFT in cart</row> + <row>second category</row> + </categories> </row> </itemDetails> <icon>plugins/Morpheus/images/ecommerceAbandonedCart.png</icon> @@ -369,6 +378,13 @@ <itemCategory>Multiple Category 1</itemCategory> <price>500</price> <quantity>2</quantity> + <categories> + <row>Multiple Category 1</row> + <row>Multiple Category 2</row> + <row>Electronics & Cameras</row> + <row>Multiple Category 4</row> + <row>Multiple Category 5</row> + </categories> </row> <row> <itemSKU>ANOTHER SKU HERE</itemSKU> @@ -376,6 +392,8 @@ <itemCategory /> <price>100</price> <quantity>6</quantity> + <categories> + </categories> </row> </itemDetails> <icon>plugins/Morpheus/images/ecommerceOrder.png</icon> @@ -401,6 +419,8 @@ <itemCategory /> <price>11.22</price> <quantity>1</quantity> + <categories> + </categories> </row> <row> <itemSKU>SKU2</itemSKU> @@ -408,6 +428,9 @@ <itemCategory>Electronics & Cameras</itemCategory> <price>1500</price> <quantity>1</quantity> + <categories> + <row>Electronics & Cameras</row> + </categories> </row> </itemDetails> <icon>plugins/Morpheus/images/ecommerceOrder.png</icon> @@ -518,7 +541,7 @@ </row> <row> <customVariablePageName5>_pkc</customVariablePageName5> - <customVariablePageValue5>Category TWO LEFT in cart</customVariablePageValue5> + <customVariablePageValue5>["Category TWO LEFT in cart","second category"]</customVariablePageValue5> </row> </customVariables> <bandwidth_pretty>0 M</bandwidth_pretty> @@ -535,6 +558,9 @@ <itemCategory>Electronics & Cameras</itemCategory> <price>10</price> <quantity>1</quantity> + <categories> + <row>Electronics & Cameras</row> + </categories> </row> <row> <itemSKU>SKU IN ABANDONED CART ONE</itemSKU> @@ -542,6 +568,8 @@ <itemCategory /> <price>500.11</price> <quantity>1</quantity> + <categories> + </categories> </row> <row> <itemSKU>SKU IN ABANDONED CART TWO</itemSKU> @@ -549,6 +577,10 @@ <itemCategory>Category TWO LEFT in cart</itemCategory> <price>1000</price> <quantity>2</quantity> + <categories> + <row>Category TWO LEFT in cart</row> + <row>second category</row> + </categories> </row> </itemDetails> <icon>plugins/Morpheus/images/ecommerceAbandonedCart.png</icon> diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_html_tables_and_graph__ScheduledReports.generateReport_week.original.html b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_html_tables_and_graph__ScheduledReports.generateReport_week.original.html index 7acca626c8..34a8e3ee60 100644 --- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_html_tables_and_graph__ScheduledReports.generateReport_week.original.html +++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_html_tables_and_graph__ScheduledReports.generateReport_week.original.html @@ -6087,7 +6087,7 @@ </h2> <img alt="" - src="data:image/png;base64,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" + src="data:image/png;base64,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" height="200" width="700" margin="0 auto"/> @@ -6331,6 +6331,32 @@ 0% </td> </tr> + + <tr style=";"> + <td style="padding:17px 15px;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, 'Helvetica Neue', sans-serif;"> + second category </td> + <td style="padding:17px 15px; text-align:right;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, 'Helvetica Neue', sans-serif;"> + $ 0 + </td> + <td style="padding:17px 15px; text-align:right;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, 'Helvetica Neue', sans-serif;"> + 0 + </td> + <td style="padding:17px 15px; text-align:right;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, 'Helvetica Neue', sans-serif;"> + 0 + </td> + <td style="padding:17px 15px; text-align:right;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, 'Helvetica Neue', sans-serif;"> + 3 + </td> + <td style="padding:17px 15px; text-align:right;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, 'Helvetica Neue', sans-serif;"> + $ 0 + </td> + <td style="padding:17px 15px; text-align:right;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, 'Helvetica Neue', sans-serif;"> + 0 + </td> + <td style="padding:17px 15px; text-align:right;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, 'Helvetica Neue', sans-serif;"> + 0% + </td> + </tr> </tbody> </table> <p style="width: 100%; text-align:center;"> diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_html_tables_only__ScheduledReports.generateReport_week.original.html b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_html_tables_only__ScheduledReports.generateReport_week.original.html index d1d5b43b86..2009f11ddf 100644 --- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_html_tables_only__ScheduledReports.generateReport_week.original.html +++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_html_tables_only__ScheduledReports.generateReport_week.original.html @@ -6009,6 +6009,32 @@ 0% </td> </tr> + + <tr style=";"> + <td style="padding:17px 15px;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, 'Helvetica Neue', sans-serif;"> + second category </td> + <td style="padding:17px 15px; text-align:right;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, 'Helvetica Neue', sans-serif;"> + $ 0 + </td> + <td style="padding:17px 15px; text-align:right;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, 'Helvetica Neue', sans-serif;"> + 0 + </td> + <td style="padding:17px 15px; text-align:right;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, 'Helvetica Neue', sans-serif;"> + 0 + </td> + <td style="padding:17px 15px; text-align:right;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, 'Helvetica Neue', sans-serif;"> + 3 + </td> + <td style="padding:17px 15px; text-align:right;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, 'Helvetica Neue', sans-serif;"> + $ 0 + </td> + <td style="padding:17px 15px; text-align:right;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, 'Helvetica Neue', sans-serif;"> + 0 + </td> + <td style="padding:17px 15px; text-align:right;;border-bottom:1px solid rgb(231,231,231);font-size: 15px;padding:17px 15px;color:#0d0d0d;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, 'Helvetica Neue', sans-serif;"> + 0% + </td> + </tr> </tbody> </table> <p style="width: 100%; text-align:center;"> diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_in_csv__ScheduledReports.generateReport_week.original.csv b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_in_csv__ScheduledReports.generateReport_week.original.csv index 0bfb7af0e7..ffa9d0f4e2 100644 --- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_in_csv__ScheduledReports.generateReport_week.original.csv +++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_in_csv__ScheduledReports.generateReport_week.original.csv @@ -426,6 +426,7 @@ Multiple Category 5,$ 1000,2,1,1,$ 500,2,100% Product Category not defined,$ 611.22,7,2,4,$ 55.61,3.5,50% Tools,$ 200,2,1,0,$ 100,2,0% Category TWO LEFT in cart,$ 0,0,0,3,$ 0,0,0% +second category,$ 0,0,0,3,$ 0,0,0% Goals nb_conversions,nb_visits_converted,revenue,conversion_rate diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_in_pdf_tables_only__ScheduledReports.generateReport_week.original.pdf b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_in_pdf_tables_only__ScheduledReports.generateReport_week.original.pdf Binary files differindex b8ba7011c8..5bdec4abeb 100644 --- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_in_pdf_tables_only__ScheduledReports.generateReport_week.original.pdf +++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_schedrep_in_pdf_tables_only__ScheduledReports.generateReport_week.original.pdf diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItemsmultipleDates__Goals.getItemsCategory_day.xml b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItemsmultipleDates__Goals.getItemsCategory_day.xml index 9cbda1326b..9008439c34 100644 --- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItemsmultipleDates__Goals.getItemsCategory_day.xml +++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItemsmultipleDates__Goals.getItemsCategory_day.xml @@ -82,6 +82,15 @@ <avg_quantity>0</avg_quantity> <conversion_rate>0%</conversion_rate> </row> + <row> + <label>second category</label> + <nb_uniq_visitors>1</nb_uniq_visitors> + <nb_visits>2</nb_visits> + <nb_actions>2</nb_actions> + <avg_price>0</avg_price> + <avg_quantity>0</avg_quantity> + <conversion_rate>0%</conversion_rate> + </row> </result> <result date="2011-04-06"> <row> @@ -111,6 +120,15 @@ <avg_quantity>0</avg_quantity> <conversion_rate>0%</conversion_rate> </row> + <row> + <label>second category</label> + <nb_uniq_visitors>1</nb_uniq_visitors> + <nb_visits>1</nb_visits> + <nb_actions>1</nb_actions> + <avg_price>0</avg_price> + <avg_quantity>0</avg_quantity> + <conversion_rate>0%</conversion_rate> + </row> </result> <result date="2011-04-07" /> <result date="2011-04-08" /> |