TYPO3 CMS  TYPO3_8-7
AbstractFileTest.php
Go to the documentation of this file.
1 <?php
3 
4 /*
5  * This file is part of the TYPO3 CMS project.
6  *
7  * It is free software; you can redistribute it and/or modify it under
8  * the terms of the GNU General Public License, either version 2
9  * of the License, or any later version.
10  *
11  * For the full copyright and license information, please read the
12  * LICENSE.txt file that was distributed with this source code.
13  *
14  * The TYPO3 project - inspiring people to share!
15  */
16 
20 
24 class AbstractFileTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
25 {
29  public function getParentFolderGetsParentFolderFromStorage()
30  {
31  $parentIdentifier = '/parent/';
32  $currentIdentifier = '/parent/current/';
33 
35  $mockedStorageForParent = $this->createMock(ResourceStorage::class);
36 
38  $parentFolderFixture = $this->getMockForAbstractClass(AbstractFile::class);
39  $parentFolderFixture->setIdentifier($parentIdentifier)->setStorage($mockedStorageForParent);
40 
42  $mockedStorage = $this->getMockBuilder(ResourceStorage::class)
43  ->setMethods(['getFolderIdentifierFromFileIdentifier', 'getFolder'])
44  ->disableOriginalConstructor()
45  ->getMock();
46  $mockedStorage->expects($this->once())->method('getFolderIdentifierFromFileIdentifier')->with($currentIdentifier)->will($this->returnValue($parentIdentifier));
47  $mockedStorage->expects($this->once())->method('getFolder')->with($parentIdentifier)->will($this->returnValue($parentFolderFixture));
48 
50  $currentFolderFixture = $this->getMockForAbstractClass(AbstractFile::class);
51  $currentFolderFixture->setIdentifier($currentIdentifier)->setStorage($mockedStorage);
52 
53  $this->assertSame($parentFolderFixture, $currentFolderFixture->getParentFolder());
54  }
55 
64  public function storageIsNotAskedForMimeTypeForPersistedRecord()
65  {
67  $mockedStorage = $this->getMockBuilder(ResourceStorage::class)->disableOriginalConstructor()->getMock();
68  $mockedStorage->expects($this->never())->method('getFileInfoByIdentifier')->with('/foo', 'mimetype');
69  $subject = new File(['identifier' => '/foo', 'mime_type' => 'my/mime-type'], $mockedStorage);
70 
71  $this->assertEquals('my/mime-type', $subject->getMimeType());
72  }
73 }