Eccube\Tests\Service\CsvExportServiceTest::testExportData PHP Method

testExportData() public method

public testExportData ( )
    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();
    }