public function testCombinePreviousDataWithCurrentPeriod() { $previousFrom = new DateTime('2015-05-05'); $previousTo = new DateTime('2015-05-10'); $data = [['yearCreated' => '2015', 'monthCreated' => '05', 'dayCreated' => '07', 'cnt' => 5]]; $expectedData = [['date' => '2015-05-10'], ['date' => '2015-05-11'], ['date' => '2015-05-12', 'count' => 5], ['date' => '2015-05-13'], ['date' => '2015-05-14'], ['date' => '2015-05-15']]; $actualData = $this->helper->combinePreviousDataWithCurrentPeriod($previousFrom, $previousTo, $data, 'cnt', 'count'); $this->assertEquals($expectedData, $actualData); }
/** * @param ChartViewBuilder $viewBuilder * @param array $dateRange * * @return ChartView */ public function getRevenueOverTimeChartView(ChartViewBuilder $viewBuilder, array $dateRange) { /* @var $from DateTime */ /* @var $to DateTime */ list($from, $to) = $this->dateHelper->getPeriod($dateRange, 'OroCRMMagentoBundle:Order', 'createdAt'); $orderRepository = $this->getOrderRepository(); $result = $orderRepository->getRevenueOverTime($this->aclHelper, $this->dateHelper, $from, $to); $items = $this->dateHelper->convertToCurrentPeriod($from, $to, $result, 'amount', 'amount'); $previousFrom = $this->createPreviousFrom($from, $to); $previousResult = $orderRepository->getRevenueOverTime($this->aclHelper, $this->dateHelper, $previousFrom, $from); $previousItems = $this->dateHelper->combinePreviousDataWithCurrentPeriod($previousFrom, $from, $previousResult, 'amount', 'amount'); $chartType = $this->dateHelper->getFormatStrings($from, $to)['viewType']; $data = [$this->createPeriodLabel($previousFrom, $from) => $previousItems, $this->createPeriodLabel($from, $to) => $items]; return $this->createPeriodChartView($viewBuilder, 'revenue_over_time_chart', $chartType, $data); }
/** * @dataProvider combinePreviousDataWithCurrentPeriodDataProvider */ public function testCombinePreviousDataWithCurrentPeriod($previousFrom, $previousTo, $data, $expectedData) { $actualData = $this->helper->combinePreviousDataWithCurrentPeriod($previousFrom, $previousTo, $data, 'cnt', 'count'); $this->assertEquals($expectedData, $actualData); }