123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- <?php
- use Mockery as m;
- use Maatwebsite\Excel\Excel;
- use Illuminate\Filesystem\Filesystem;
- class ExcelTestCase extends PHPUnit_Framework_TestCase {
- /**
- * Mocks
- * @var [type]
- */
- public $phpexcel;
- public $reader;
- public $writer;
- public $excel;
- public $batch;
- /**
- * Setup test case
- */
- public function setUp()
- {
- parent::setUp();
- // Set the mocks
- $this->setMocks();
- // Init our excel class
- $this->excel = new Excel($this->phpexcel, $this->reader, $this->writer);
- }
- /**
- * Test the constructor
- * @return [type] [description]
- */
- public function testConstructor()
- {
- $this->assertInstanceOf('Maatwebsite\Excel\Excel', $this->excel);
- }
- /**
- * Set the mocks
- */
- public function setMocks()
- {
- $this->mockPHPExcel();
- $this->mockReader();
- $this->mockWriter();
- $this->mockBatch();
- }
- /**
- * Mock PHPExcel class
- * @return [type] [description]
- */
- public function mockPHPExcel()
- {
- $this->phpexcel = m::mock('Maatwebsite\Excel\Classes\PHPExcel');
- $this->phpexcel->shouldReceive('getID');
- $this->phpexcel->shouldReceive('disconnectWorksheets');
- $this->phpexcel->shouldReceive('setDefaultProperties');
- }
- /**
- * Mock Reader class
- * @return [type] [description]
- */
- public function mockReader()
- {
- $this->reader = m::mock('Maatwebsite\Excel\Readers\LaravelExcelReader');
- $this->reader->shouldReceive('injectExcel')->with($this->phpexcel);
- $this->reader->shouldReceive('load');
- $this->reader->shouldReceive('setSelectedSheets');
- $this->reader->shouldReceive('setSelectedSheetIndices');
- $this->reader->shouldReceive('setFilters');
- }
- /**
- * Mock Writer class
- * @return [type] [description]
- */
- public function mockWriter()
- {
- $this->writer = m::mock('Maatwebsite\Excel\Writers\LaravelExcelWriter');
- $this->writer->shouldReceive('injectExcel')->with($this->phpexcel);
- $this->writer->shouldReceive('setTitle');
- $this->writer->shouldReceive('setFileName');
- $this->writer->shouldReceive('shareView')->andReturn($this->writer);
- }
- /**
- * Mock Writer class
- * @return [type] [description]
- */
- public function mockBatch()
- {
- $this->batch = m::mock('Maatwebsite\Excel\Readers\Batch');
- $this->batch->shouldReceive('start')->andReturn('foo');
- }
- /**
- * Teardown
- * @return [type] [description]
- */
- public function tearDown()
- {
- m::close();
- }
- }
|