123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- <?php
- namespace Gedmo\Uploadable\Mapping;
- use Gedmo\Uploadable\Mapping\Validator;
- /**
- * These are tests for the Mapping Validator of the Uploadable behavior
- *
- * @author Gustavo Falco <comfortablynumb84@gmail.com>
- * @author Gediminas Morkevicius <gediminas.morkevicius@gmail.com>
- * @package Gedmo.Uploadable.Mapping
- * @link http://www.gediminasm.org
- * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
- */
- class ValidatorTest extends \PHPUnit_Framework_TestCase
- {
- protected $meta;
- public function setUp()
- {
- $this->meta = $this->getMock('Doctrine\ORM\Mapping\ClassMetadata', array(), array(), '', false);
- }
- /**
- * @expectedException Gedmo\Exception\InvalidMappingException
- */
- public function test_validateField_ifFieldIsNotOfAValidTypeThrowException()
- {
- $this->meta->expects($this->once())
- ->method('getFieldMapping')
- ->will($this->returnValue(array('type' => 'someType')));
- Validator::validateField(
- $this->meta,
- 'someField',
- Validator::UPLOADABLE_FILE_MIME_TYPE,
- Validator::$validFileMimeTypeTypes
- );
- }
- /**
- * @expectedException Gedmo\Exception\UploadableInvalidPathException
- */
- public function test_validatePath_ifPathIsNotAStringOrIsAnEmptyStringThrowException()
- {
- Validator::validatePath('');
- }
- /**
- * @expectedException Gedmo\Exception\UploadableCantWriteException
- */
- public function test_validatePath_ifPassedDirIsNotAValidDirectoryOrIsNotWriteableThrowException()
- {
- Validator::validatePath('/invalid/directory/12312432423');
- }
- /**
- * @expectedException Gedmo\Exception\InvalidMappingException
- */
- public function test_validateConfiguration_ifFilePathFieldIsNotDefinedThrowException()
- {
- Validator::validateConfiguration($this->meta, array('filePathField' => false));
- }
- /**
- * @expectedException Gedmo\Exception\InvalidMappingException
- */
- public function test_validateConfiguration_ifPathMethodIsNotAValidMethodThrowException()
- {
- $this->meta->expects($this->once())
- ->method('getReflectionClass')
- ->will($this->returnValue(new \ReflectionClass(new FakeEntity())));
- Validator::validateConfiguration(
- $this->meta,
- array('filePathField' => 'someField', 'pathMethod' => 'invalidMethod')
- );
- }
- /**
- * @expectedException Gedmo\Exception\InvalidMappingException
- */
- public function test_validateConfiguration_ifCallbackMethodIsNotAValidMethodThrowException()
- {
- $this->meta->expects($this->once())
- ->method('getReflectionClass')
- ->will($this->returnValue(new \ReflectionClass(new FakeEntity())));
- Validator::validateConfiguration(
- $this->meta,
- array('filePathField' => 'someField', 'pathMethod' => '', 'callback' => 'invalidMethod')
- );
- }
- /**
- * @expectedException Gedmo\Exception\InvalidMappingException
- */
- public function test_validateConfiguration_ifFilenameGeneratorValueIsNotValidThrowException()
- {
- $this->meta->expects($this->once())
- ->method('getReflectionClass')
- ->will($this->returnValue(new \ReflectionClass(new FakeEntity())));
- Validator::validateConfiguration(
- $this->meta,
- array(
- 'fileMimeTypeField' => 'someField',
- 'filePathField' => 'someField',
- 'pathMethod' => '',
- 'callback' => '',
- 'filenameGenerator' => 'invalidClass'
- )
- );
- }
- }
- class FakeEntity
- {
- }
|