Skip to content
Extraits de code Groupes Projets
Valider 08811d96 rédigé par Thomas Steur's avatar Thomas Steur
Parcourir les fichiers

added a test for avg order revenue

parent 8d7096b6
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -401,13 +401,16 @@ class API extends \Piwik\Plugin\API
$isEcommerceGoal = $idGoal === GoalManager::IDGOAL_ORDER || $idGoal === GoalManager::IDGOAL_CART;
$allMetrics = Goals::getGoalColumns($idGoal);
$requestedColumns = Piwik::getArrayFromApiParameter($columns);
$columnsToShow = Piwik::getArrayFromApiParameter($columns);
$requestedColumns = $columnsToShow;
$shouldAddAverageOrderRevenue = (in_array('avg_order_revenue', $requestedColumns) || empty($requestedColumns)) && $isEcommerceGoal;
if ($shouldAddAverageOrderRevenue && !empty($requestedColumns)) {
$avgOrder = new AverageOrderRevenue();
$metricsToAdd = $avgOrder->getDependentMetrics();
$requestedColumns = array_unique(array_merge($requestedColumns, $metricsToAdd));
}
......@@ -441,13 +444,14 @@ class API extends \Piwik\Plugin\API
}
// remove temporary metrics that were not explicitly requested
$allColumns = $allMetrics;
$allColumns[] = 'conversion_rate';
if ($isEcommerceGoal) {
$allColumns[] = 'avg_order_revenue';
if (empty($columnsToShow)) {
$columnsToShow = $allMetrics;
$columnsToShow[] = 'conversion_rate';
if ($isEcommerceGoal) {
$columnsToShow[] = 'avg_order_revenue';
}
}
$columnsToShow = $requestedColumns ?: $allColumns;
$dataTable->queueFilter('ColumnDelete', array($columnsToRemove = array(), $columnsToShow));
return $dataTable;
......
......@@ -245,6 +245,16 @@ class EcommerceOrderWithItemsTest extends SystemTestCase
array($goalWeekApi, array('idSite' => $idSite2, 'date' => $dateTime, 'periods' => array('week'),
'testSuffix' => '_Website2')),
// see https://github.com/piwik/piwik/issues/7851 make sure avg_order_revenue is calculated correct
// even if only this column is given
array('Goals.get', array('idSite' => $idSite,
'date' => $dateTime,
'periods' => array('week'),
'otherRequestParameters' => array(
'idGoal' => Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER,
'columns' => 'avg_order_revenue'),
'testSuffix' => '_AvgOrderRevenue')),
),
self::getApiForTestingScheduledReports($dateTime, 'week')
);
......
<?xml version="1.0" encoding="utf-8" ?>
<result>
<avg_order_revenue>3337.78</avg_order_revenue>
<avg_order_revenue_new_visit>0</avg_order_revenue_new_visit>
<avg_order_revenue_returning_visit>3337.78</avg_order_revenue_returning_visit>
</result>
\ No newline at end of file
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter