Spaces:
No application file
No application file
File size: 3,363 Bytes
d2897cd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
<?php
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);
}
}
|