Spaces:
No application file
No application file
File size: 3,185 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 |
<?php
namespace Mautic\ReportBundle\Tests\Model;
use Mautic\CoreBundle\Exception\FilePathException;
use Mautic\CoreBundle\Helper\CoreParametersHelper;
use Mautic\CoreBundle\Helper\FilePathResolver;
use Mautic\ReportBundle\Exception\FileIOException;
use Mautic\ReportBundle\Model\ExportHandler;
class ExportHandlerTest extends \PHPUnit\Framework\TestCase
{
public function testHandler(): void
{
$tmpDir = sys_get_temp_dir();
$coreParametersHelperMock = $this->getMockBuilder(CoreParametersHelper::class)
->disableOriginalConstructor()
->getMock();
$coreParametersHelperMock->expects($this->any())
->method('get')
->with('report_temp_dir')
->willReturn($tmpDir);
$filePathResolver = $this->getMockBuilder(FilePathResolver::class)
->disableOriginalConstructor()
->getMock();
$filePathResolver->expects($this->once())
->method('createDirectory');
$exportHandler = new ExportHandler($coreParametersHelperMock, $filePathResolver);
$handler = $exportHandler->getHandler('myFile');
$this->assertIsResource($handler);
$exportHandler->closeHandler($handler);
$this->assertIsClosedResource($handler);
}
public function testCreateDirectoryError(): void
{
$tmpDir = sys_get_temp_dir();
$this->expectException(FileIOException::class);
$this->expectExceptionMessage('Could not create directory '.$tmpDir);
$coreParametersHelperMock = $this->getMockBuilder(CoreParametersHelper::class)
->disableOriginalConstructor()
->getMock();
$coreParametersHelperMock->expects($this->any())
->method('get')
->with('report_temp_dir')
->willReturn($tmpDir);
$filePathResolver = $this->getMockBuilder(FilePathResolver::class)
->disableOriginalConstructor()
->getMock();
$filePathResolver->expects($this->once())
->method('createDirectory')
->willThrowException(new FilePathException());
$exportHandler = new ExportHandler($coreParametersHelperMock, $filePathResolver);
$exportHandler->getHandler('myFile');
}
public function testOpenFileError(): void
{
$tmpDir = 'xxx';
$this->expectException(FileIOException::class);
$this->expectExceptionMessage('Could not open file xxx/myFile.csv');
$coreParametersHelperMock = $this->getMockBuilder(CoreParametersHelper::class)
->disableOriginalConstructor()
->getMock();
$coreParametersHelperMock->expects($this->any())
->method('get')
->with('report_temp_dir')
->willReturn($tmpDir);
$filePathResolver = $this->getMockBuilder(FilePathResolver::class)
->disableOriginalConstructor()
->getMock();
$filePathResolver->expects($this->once())
->method('createDirectory');
$exportHandler = new ExportHandler($coreParametersHelperMock, $filePathResolver);
$exportHandler->getHandler('myFile');
}
}
|