diff --git a/Mapping/Annotation/UploadableField.php b/Mapping/Annotation/UploadableField.php index 1cdd3396..795953e6 100644 --- a/Mapping/Annotation/UploadableField.php +++ b/Mapping/Annotation/UploadableField.php @@ -35,10 +35,14 @@ public function __construct(array $options) { if (isset($options['mapping'])) { $this->mapping = $options['mapping']; + } else { + throw new \Exception('The "mapping" attribute of UploadableField is required.'); } if (isset($options['fileNameProperty'])) { $this->fileNameProperty = $options['fileNameProperty']; + } else { + throw new \Exception('The "fileNameProperty" attribute of UploadableField is required.'); } } diff --git a/Tests/Mapping/Annotation/UploadableFieldTest.php b/Tests/Mapping/Annotation/UploadableFieldTest.php new file mode 100644 index 00000000..51fd707c --- /dev/null +++ b/Tests/Mapping/Annotation/UploadableFieldTest.php @@ -0,0 +1,33 @@ + + */ +class UploadableFieldTest extends \PHPUnit_Framework_TestCase +{ + /** + * @expectedException \Exception + */ + public function testExceptionThrownWhenNoMappingAttribute() + { + new UploadableField(array( + 'fileNameProperty' => 'fileName' + )); + } + + /** + * @expectedException \Exception + */ + public function testExceptionThrownWhenNoFileNamePropertyAttribute() + { + new UploadableField(array( + 'mapping' => 'file' + )); + } +}