forked from thephpleague/flysystem
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGetWithMetadataTests.php
More file actions
74 lines (63 loc) · 1.95 KB
/
GetWithMetadataTests.php
File metadata and controls
74 lines (63 loc) · 1.95 KB
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
<?php
use League\Flysystem\Plugin\GetWithMetadata;
use Prophecy\PhpUnit\ProphecyTestCase;
use Prophecy\Prophecy\ObjectProphecy;
class GetWithMetadataTests extends ProphecyTestCase
{
/**
* @var ObjectProphecy
*/
private $prophecy;
/**
* @var FilesystemInterface
*/
private $filesystem;
/**
* @before
*/
public function setupFilesystem()
{
$this->prophecy = $this->prophesize('League\Flysystem\FilesystemInterface');
$this->filesystem = $this->prophecy->reveal();
}
public function testGetMethod()
{
$plugin = new GetWithMetadata();
$this->assertEquals('getWithMetadata', $plugin->getMethod());
}
public function testHandle()
{
$this->prophecy->getMetadata('path.txt')->willReturn([
'path' => 'path.txt',
'type' => 'file',
]);
$this->prophecy->getMimetype('path.txt')->willReturn('text/plain');
$plugin = new GetWithMetadata();
$plugin->setFilesystem($this->filesystem);
$output = $plugin->handle('path.txt', ['mimetype']);
$this->assertEquals([
'path' => 'path.txt',
'type' => 'file',
'mimetype' => 'text/plain',
], $output);
}
public function testHandleFail()
{
$this->prophecy->getMetadata('path.txt')->willReturn(false);
$plugin = new GetWithMetadata();
$plugin->setFilesystem($this->filesystem);
$output = $plugin->handle('path.txt', ['mimetype']);
$this->assertFalse($output);
}
public function testHandleInvalid()
{
$this->setExpectedException('InvalidArgumentException');
$this->prophecy->getMetadata('path.txt')->willReturn([
'path' => 'path.txt',
'type' => 'file',
]);
$plugin = new GetWithMetadata();
$plugin->setFilesystem($this->filesystem);
$output = $plugin->handle('path.txt', ['invalid']);
}
}