MIF_E31210385/vendor/maatwebsite/excel/tests/Excel/ExcelTestCase.php

115 lines
2.6 KiB
PHP

<?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');
}
/**
* 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();
}
}