Spaces:
No application file
No application file
namespace Mautic\ReportBundle\Tests\Model; | |
use Mautic\CoreBundle\Helper\CoreParametersHelper; | |
use Mautic\ReportBundle\Crate\ReportDataResult; | |
use Mautic\ReportBundle\Entity\Report; | |
use Mautic\ReportBundle\Entity\Scheduler; | |
use Mautic\ReportBundle\Model\CsvExporter; | |
use Mautic\ReportBundle\Model\ExportHandler; | |
use Mautic\ReportBundle\Model\ReportExportOptions; | |
use Mautic\ReportBundle\Model\ReportFileWriter; | |
use Mautic\ReportBundle\Tests\Fixtures; | |
class ReportFileWriterTest extends \PHPUnit\Framework\TestCase | |
{ | |
public function testWriteReportData(): void | |
{ | |
$csvExporter = $this->getMockBuilder(CsvExporter::class) | |
->disableOriginalConstructor() | |
->getMock(); | |
$exportHandler = $this->getMockBuilder(ExportHandler::class) | |
->disableOriginalConstructor() | |
->getMock(); | |
$handler = 'Handler'; | |
$report = new Report(); | |
$report->setName('Report A'); | |
$scheduler = new Scheduler($report, new \DateTime()); | |
$reportDataResult = new ReportDataResult(Fixtures::getValidReportResult()); | |
$coreParametersHelper = $this->getMockBuilder(CoreParametersHelper::class) | |
->disableOriginalConstructor() | |
->getMock(); | |
$coreParametersHelper->expects($this->once()) | |
->method('get') | |
->with('report_export_batch_size') | |
->willReturn(3); | |
$reportExportOptions = new ReportExportOptions($coreParametersHelper); | |
$exportHandler->expects($this->once()) | |
->method('getHandler') | |
->willReturn($handler); | |
$csvExporter->expects($this->once()) | |
->method('export') | |
->with($reportDataResult, $handler, 1); | |
$exportHandler->expects($this->once()) | |
->method('closeHandler'); | |
$reportFileWriter = new ReportFileWriter($csvExporter, $exportHandler); | |
$reportFileWriter->writeReportData($scheduler, $reportDataResult, $reportExportOptions); | |
} | |
public function testClear(): void | |
{ | |
$csvExporter = $this->getMockBuilder(CsvExporter::class) | |
->disableOriginalConstructor() | |
->getMock(); | |
$exportHandler = $this->getMockBuilder(ExportHandler::class) | |
->disableOriginalConstructor() | |
->getMock(); | |
$report = new Report(); | |
$scheduler = new Scheduler($report, new \DateTime()); | |
$report->setName('Report A'); | |
$exportHandler->expects($this->once()) | |
->method('removeFile'); | |
$reportFileWriter = new ReportFileWriter($csvExporter, $exportHandler); | |
$reportFileWriter->clear($scheduler); | |
} | |
public function testGetFilePath(): void | |
{ | |
$csvExporter = $this->getMockBuilder(CsvExporter::class) | |
->disableOriginalConstructor() | |
->getMock(); | |
$exportHandler = $this->getMockBuilder(ExportHandler::class) | |
->disableOriginalConstructor() | |
->getMock(); | |
$report = new Report(); | |
$scheduler = new Scheduler($report, new \DateTime()); | |
$report->setName('Report A'); | |
$exportHandler->expects($this->once()) | |
->method('getPath'); | |
$reportFileWriter = new ReportFileWriter($csvExporter, $exportHandler); | |
$reportFileWriter->getFilePath($scheduler); | |
} | |
} | |