Skip to content

Commit

Permalink
Fix file uploads
Browse files Browse the repository at this point in the history
  • Loading branch information
peteraba committed Feb 3, 2020
1 parent b4d848f commit 3805176
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 37 deletions.
2 changes: 1 addition & 1 deletion src/Form/Factory/File.php
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ protected function addDescription(Entity $entity): File
$input = new Textarea('description', 'description', $entity->getDescription());
$label = new Label('description', 'files:fileDescription');

$this->form[] = new FormGroup($input, $label, null, [], [Html5::ATTR_CLASS => FormGroup::CLASS_REQUIRED]);
$this->form[] = new FormGroup($input, $label);

return $this;
}
Expand Down
3 changes: 2 additions & 1 deletion src/Service/Execute/File.php
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,8 @@ public function create(array $postData, array $fileData): IStringerEntity

$this->uploadFile($entity, $fileData);

if ($this->uploader->getErrors()) {
$errors = $this->uploader->getErrors();
if ($errors) {
return $entity;
}

Expand Down
3 changes: 1 addition & 2 deletions src/Validation/Factory/File.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,7 @@ public function createValidator(): IValidator
->forbidden();

$validator
->field('description')
->required();
->field('description');

$validator
->field('category_id')
Expand Down
64 changes: 31 additions & 33 deletions tests/Validation/Factory/FileTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -38,71 +38,69 @@ public function setUp(): void
/**
* @return array
*/
public function createValidatorProvider(): array
public function createValidatorSuccessProvider(): array
{
return [
'empty-data' => [
[],
false,
],
'valid-data' => [
[
'description' => 'foo',
],
true,
],
'valid-data-missing-all-not-required' => [
[
'description' => 'foo',
'category_id' => '69da7b0b-8315-43c9-8f5d-a6a5ea09b051',
],
true,
],
'invalid-id-present' => [
];
}

/**
* @dataProvider createValidatorSuccessProvider
*
* @param array $data
*/
public function testCreateValidatorSuccess(array $data)
{
$validator = $this->sut->createValidator();

$this->assertInstanceOf(IValidator::class, $validator);

$actualResult = $validator->isValid($data);

$this->assertTrue($actualResult);
}

/**
* @return array
*/
public function createValidatorFailureProvider(): array
{
return [
'invalid-id-present' => [
[
'id' => '465c91df-9cc7-47e2-a2ef-8fe645753148',
'description' => 'foo',
'category_id' => '69da7b0b-8315-43c9-8f5d-a6a5ea09b051',
],
false,
],
'invalid-description-missing' => [
[
'category_id' => '69da7b0b-8315-43c9-8f5d-a6a5ea09b051',
],
false,
],
'invalid-description-empty' => [
[
'description' => '',
'category_id' => '69da7b0b-8315-43c9-8f5d-a6a5ea09b051',
],
false,
],
'invalid-category-not-uuid' => [
'invalid-category-not-uuid' => [
[
'description' => 'foo',
'category_id' => '69da7b0b-8315-43c9-8f5d-a6a5ea09b05',
],
false,
],
];
}

/**
* @dataProvider createValidatorProvider
* @dataProvider createValidatorFailureProvider
*
* @param array $data
* @param bool $expectedResult
*/
public function testCreateValidator(array $data, bool $expectedResult)
public function testCreateValidatorFailure(array $data)
{
$validator = $this->sut->createValidator();

$this->assertInstanceOf(IValidator::class, $validator);

$actualResult = $validator->isValid($data);

$this->assertSame($expectedResult, $actualResult);
$this->assertFalse($actualResult);
}
}

0 comments on commit 3805176

Please sign in to comment.