FilesystemTest.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. namespace Tests\Exporters\CSV;
  3. use Dcat\EasyExcel\Excel;
  4. use League\Flysystem\Adapter\Local;
  5. use League\Flysystem\Filesystem;
  6. use League\Flysystem\Local\LocalFilesystemAdapter;
  7. use Tests\TestCase;
  8. class FilesystemTest extends TestCase
  9. {
  10. /**
  11. * @var Filesystem
  12. */
  13. protected $filesystem;
  14. protected $filename;
  15. public function test()
  16. {
  17. $users = include __DIR__.'/../../resources/users.php';
  18. if (class_exists(LocalFilesystemAdapter::class)) {
  19. $adapter = new LocalFilesystemAdapter(__DIR__.'/../../resources');
  20. } else {
  21. $adapter = new Local(__DIR__.'/../../resources');
  22. }
  23. $this->filesystem = new Filesystem($adapter);
  24. $this->filename = time().'.csv';
  25. Excel::csv($users)->disk($this->filesystem)->store($this->filename);
  26. $sheetsArray = Excel::csv($this->filename)->disk($this->filesystem)->toArray();
  27. $this->assertIsArray($sheetsArray);
  28. $this->assertEquals(count($sheetsArray), 1);
  29. $this->assertTrue(isset($sheetsArray[0]));
  30. $this->assertEquals(array_values($sheetsArray[0]), $users);
  31. }
  32. public function tearDown(): void
  33. {
  34. parent::tearDown();
  35. if ($this->filesystem && $this->filename) {
  36. $this->filesystem->delete($this->filename);
  37. }
  38. }
  39. }