Completed
Push — master ( 03233f...05b722 )
by dan
02:33
created

FileValidatorTest::testMimeAndExtensionDontMatch()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 21
Code Lines 13

Duplication

Lines 21
Ratio 100 %

Importance

Changes 0
Metric Value
dl 21
loc 21
rs 9.3142
c 0
b 0
f 0
cc 1
eloc 13
nc 1
nop 0
1
<?php
2
/**
3
 * This file is part of the IrishDan\ResponsiveImageBundle package.
4
 *
5
 * (c) Daniel Byrne <[email protected]>
6
 *
7
 * For the full copyright and license information, please view the LICENSE file that was distributed with this source
8
 * code.
9
 */
10
11
namespace IrishDan\ResponsiveImageBundle\Tests\File;
12
13
use IrishDan\ResponsiveImageBundle\File\FileValidator;
14
use Symfony\Component\HttpFoundation\File\UploadedFile;
15
16
class FileValidatorTest extends \PHPUnit_Framework_TestCase
17
{
18
    protected function getMockFileUpload()
19
    {
20
        // Mock the repository so it returns the mock of the Image repository.
21
        return $this->getMockBuilder(UploadedFile::class)
22
                    ->disableOriginalConstructor()
23
                    ->getMock();
24
    }
25
26
    public function testValid()
27
    {
28
        $uploadedFile = $this->getMockFileUpload();
29
        $uploadedFile->expects($this->once())
30
                     ->method('getClientOriginalExtension')
31
                     ->will(
32
                         $this->returnValue('jpg')
33
                     );
34
        $uploadedFile->expects($this->once())
35
                     ->method('guessExtension')
36
                     ->will(
37
                         $this->returnValue('jpg')
38
                     );
39
40
        // Test the validator.
41
        $validator = new FileValidator();
42
43
        $valid = $validator->validate($uploadedFile);
44
45
        $this->assertTrue($valid);
46
    }
47
48
    public function testUnsupportedFileType()
49
    {
50
        $uploadedFile = $this->getMockFileUpload();
51
        $uploadedFile->expects($this->once())
52
                     ->method('getClientOriginalExtension')
53
                     ->will(
54
                         $this->returnValue('doc')
55
                     );
56
        $uploadedFile->expects($this->once())
57
                     ->method('guessExtension')
58
                     ->will(
59
                         $this->returnValue('doc')
60
                     );
61
62
        // Test the validator.
63
        $validator = new FileValidator();
64
65
        $valid = $validator->validate($uploadedFile);
66
67
        $this->assertFalse($valid);
68
    }
69
}
70