diff --git a/lib/classes/databox/descriptionStructure.php b/lib/classes/databox/descriptionStructure.php index 48374479dc..e9a4f7890c 100644 --- a/lib/classes/databox/descriptionStructure.php +++ b/lib/classes/databox/descriptionStructure.php @@ -89,7 +89,7 @@ class databox_descriptionStructure implements IteratorAggregate, Countable /** * @param string $name - * @return databox_field + * @return databox_field|null */ public function get_element_by_name($name) { diff --git a/lib/classes/record/adapter.php b/lib/classes/record/adapter.php index 6fead43910..7f2fa4b4d8 100644 --- a/lib/classes/record/adapter.php +++ b/lib/classes/record/adapter.php @@ -667,7 +667,7 @@ class record_adapter implements RecordInterface, cache_cacheableInterface } // Replacing original name in multi values is non sense - if (!$data_field->is_multi()) { + if ($data_field->is_multi()) { continue; } @@ -684,9 +684,7 @@ class record_adapter implements RecordInterface, cache_cacheableInterface } $this->set_metadatas([ - 'meta_struct_id' => $meta_struct_id, - 'meta_id' => $meta_id, - 'value' => $original_name, + ['meta_struct_id' => $meta_struct_id, 'meta_id' => $meta_id, 'value' => $original_name], ], true); } diff --git a/tests/classes/record/adapterTest.php b/tests/classes/record/adapterTest.php index 0c2ca67cb2..9b4c2dd4fe 100644 --- a/tests/classes/record/adapterTest.php +++ b/tests/classes/record/adapterTest.php @@ -264,6 +264,24 @@ class record_adapterTest extends \PhraseanetAuthenticatedTestCase $this->assertEquals('test001.jpg', $this->getRecord1()->get_original_name()); } + public function testSetOriginalName() + { + $record_1 = $this->getRecord1(); + $originalName = $record_1->get_original_name(); + + $record_1->set_original_name('test001-renamed.jpg'); + + $this->assertEquals('test001-renamed.jpg', $record_1->get_original_name()); + + $values = $record_1->get_caption()->get_field('FileName')->get_values(); + $this->assertCount(1, $values); + foreach ($values as $value) { + $this->assertEquals('test001-renamed.jpg', $value->getValue()); + } + + $record_1->set_original_name($originalName); + } + public function testGet_title() { $this->markTestSkipped('Unable to test title');