public function testExportData()
{
$Customer = $this->createCustomer();
$Order = $this->createOrder($Customer);
$Order->setMessage("aaaa" . PHP_EOL . "bbbb");
$Order->setNote("bbb" . PHP_EOL . "bbb");
$this->createOrder($Customer);
$this->createOrder($Customer);
$this->app['orm.em']->flush();
$qb = $this->app['eccube.repository.order']->createQueryBuilder('o');
$this->app['eccube.service.csv.export']->initCsvType(CsvType::CSV_TYPE_ORDER);
$this->app['eccube.service.csv.export']->setExportQueryBuilder($qb);
$this->app['eccube.service.csv.export']->exportData(function ($entity, $csvService) {
$Csvs = $csvService->getCsvs();
/** @var $Order \Eccube\Entity\Order */
$Order = $entity;
$row = array();
// CSV出力項目と合致するデータを取得.
foreach ($Csvs as $Csv) {
$row[] = $csvService->getData($Csv, $Order);
}
// 出力.
$csvService->fputcsv($row);
});
$Result = $qb->getQuery()->getResult();
$fp = fopen($this->url, 'r');
$File = array();
if ($fp !== false) {
while (($data = fgetcsv($fp)) !== false) {
$File[] = $data;
}
fclose($fp);
}
// Vfs に出力すると日本語が化けてしまうようなので, カウントのみ比較
$this->expected = count($Result);
$this->actual = count($File);
$this->verify();
}