@ -1370,11 +1370,65 @@ abstract class AbstractSharingManagerTests extends TestCase {
$id = $this->manager->createShare($accessContext);
$this->manager->addShareSource($accessContext, $id, new ShareSource(TestShareSourceType1::class, 'source1'));
$this->manager->addShareRecipient($accessContext, $id, new ShareRecipient(TestShareRecipientType1::class, 'recipient1', null));
$this->manager->getShare($accessContext, $id);
$this->manager->updateShareProperty($accessContext, $id, new ShareProperty(TestSharePropertyTypeModifyValue::class, 'old-value'));
$this->dbConnection->commit();
$share = $this->getShare($accessContext, $id);
$this->assertEquals([
[
'class' => TestSharePropertyType1::class,
'display_name' => 'TestSharePropertyType1',
'hint' => 'hint TestSharePropertyType1',
'priority' => 1,
'advanced' => false,
'required' => false,
'value' => null,
'type' => 'enum',
'valid_values' => ['valid1'],
],
[
'class' => TestSharePropertyTypeModifyValue::class,
'display_name' => 'TestSharePropertyTypeModifyValue',
'hint' => 'hint TestSharePropertyTypeModifyValue',
'priority' => 1,
'advanced' => false,
'required' => false,
'value' => 'modify-on-save',
'type' => 'enum',
'valid_values' => ['old-value', 'modify-on-save-old-value', 'modify-on-save', 'modify-on-load'],
],
], $share['properties']);
$share = $this->getShare($accessContext, $id);
$this->assertEquals([
[
'class' => TestSharePropertyType1::class,
'display_name' => 'TestSharePropertyType1',
'hint' => 'hint TestSharePropertyType1',
'priority' => 1,
'advanced' => false,
'required' => false,
'value' => null,
'type' => 'enum',
'valid_values' => ['valid1'],
],
[
'class' => TestSharePropertyTypeModifyValue::class,
'display_name' => 'TestSharePropertyTypeModifyValue',
'hint' => 'hint TestSharePropertyTypeModifyValue',
'priority' => 1,
'advanced' => false,
'required' => false,
'value' => 'modified-on-save',
'type' => 'enum',
'valid_values' => ['old-value', 'modify-on-save-old-value', 'modify-on-save', 'modify-on-load'],
],
], $share['properties']);
$this->dbConnection->beginTransaction();
$this->manager->updateShareProperty($accessContext, $id, new ShareProperty(TestSharePropertyTypeModifyValue::class, 'old-value'));
$this->dbConnection->commit();
$before = $this->manager->generateTimestamp();
$share = $this->updateShareProperty($accessContext, $id, new ShareProperty(TestSharePropertyTypeModifyValue::class, 'modify-on-save-old-value'));
$after = $this->manager->generateTimestamp();