MultipleSheetsXlsReaderTest.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <?php
  2. require_once('traits/ImportTrait.php');
  3. use Mockery as m;
  4. use Maatwebsite\Excel\Readers\LaravelExcelReader;
  5. use Maatwebsite\Excel\Classes;
  6. class MultipleSheetsXlsReaderTest extends TestCase {
  7. /**
  8. * Import trait
  9. */
  10. use ImportTrait;
  11. /**
  12. * Filename
  13. * @var string
  14. */
  15. protected $fileName = 'files/multiple.xls';
  16. /**
  17. * Test get
  18. * @return [type] [description]
  19. */
  20. public function testGet()
  21. {
  22. $got = $this->loadedFile->get();
  23. $this->assertInstanceOf('Maatwebsite\Excel\Collections\SheetCollection', $got);
  24. $this->assertCount(2, $got);
  25. }
  26. /**
  27. * Test get
  28. * @return [type] [description]
  29. */
  30. public function testGetAndGetFirstSheetName()
  31. {
  32. $got = $this->loadedFile->get();
  33. // get first sheet
  34. $sheet = $got->first();
  35. // assert sheet title
  36. $this->assertEquals('Sheet1', $sheet->getTitle());
  37. // 5 rows
  38. $this->assertCount(5, $sheet);
  39. }
  40. public function testSelectSheet()
  41. {
  42. $this->reader->setSelectedSheets('Sheet2');
  43. $this->reload();
  44. $sheet = $this->loadedFile->get();
  45. $this->assertEquals('Sheet2', $sheet->getTitle());
  46. $this->assertInstanceOf('Maatwebsite\Excel\Collections\RowCollection', $sheet);
  47. $this->assertCount(5, $sheet);
  48. }
  49. public function testSelectSheetByIndex()
  50. {
  51. $this->reader->setSelectedSheetIndices(array(1));
  52. $this->reload();
  53. $sheet = $this->loadedFile->get();
  54. $this->assertEquals('Sheet2', $sheet->getTitle());
  55. $this->assertInstanceOf('Maatwebsite\Excel\Collections\RowCollection', $sheet);
  56. $this->assertCount(5, $sheet);
  57. }
  58. public function testSelectMultipleSheets()
  59. {
  60. $this->reader->setSelectedSheets(array('Sheet1', 'Sheet2'));
  61. $this->reload();
  62. $got = $this->loadedFile->get();
  63. $this->assertInstanceOf('Maatwebsite\Excel\Collections\SheetCollection', $got);
  64. $this->assertCount(2, $got);
  65. // get first sheet
  66. $sheet = $got->first();
  67. // assert sheet title
  68. $this->assertEquals('Sheet1', $sheet->getTitle());
  69. $this->assertInstanceOf('Maatwebsite\Excel\Collections\RowCollection', $sheet);
  70. $this->assertCount(5, $sheet);
  71. }
  72. public function testSelectMultipleSheetsByIndex()
  73. {
  74. $this->reader->setSelectedSheetIndices(array(0,1));
  75. $this->reload();
  76. $got = $this->loadedFile->get();
  77. $this->assertInstanceOf('Maatwebsite\Excel\Collections\SheetCollection', $got);
  78. $this->assertCount(2, $got);
  79. // get first sheet
  80. $sheet = $got->first();
  81. // assert sheet title
  82. $this->assertEquals('Sheet1', $sheet->getTitle());
  83. $this->assertInstanceOf('Maatwebsite\Excel\Collections\RowCollection', $sheet);
  84. $this->assertCount(5, $sheet);
  85. }
  86. }