stable

Clone or download

Read-only

refactor: ISaveProjectHistory should not be in Adapters

This is part of request #29215 - Clean baseline plugin ⬡ Currently the ISaveProjectHistory is an interface defined in the Adapter namespace. Moreover, the class implementing it has inner logic that should belong to a Domain object. The big problem here, is that when we want to add entries in the ProjectHistory about role assignments, we end up calling directly the adapter of the right from the adapter of the left without any Domain object in between. This refactoring aims to take out the Domain logic from ProjectHistory class and put it in a Domain object. No functional changes expected Change-Id: I5498ebfe1e094167e23ba26cbb11a663acdc25f4

Modified Files

Name
A plugins/baseline/include/Adapter/Administration/RoleAssignmentsHistoryEntryAdder.php +47 −0 Go to diff View file
R plugins/baseline/include/Adapter/Administration/ISaveProjectHistory.php Go to diff View file
R plugins/baseline/include/Adapter/Administration/ProjectHistory.php Go to diff View file
M plugins/baseline/include/ServiceSavePermissionsController.php +7 −3 Go to diff View file
M plugins/baseline/include/baselinePlugin.php +9 −4 Go to diff View file
D plugins/baseline/tests/unit/Adapter/Administration/ProjectHistoryTest.php +0 −144 Go to diff View file
A plugins/baseline/tests/unit/Adapter/Administration/RoleAssignmentsHistoryEntryAdderTest.php +55 −0 Go to diff View file
A plugins/baseline/tests/unit/Domain/RoleAssignmentsHistorySaverTest.php +194 −0 Go to diff View file
M plugins/baseline/tests/unit/ServiceSavePermissionsControllerTest.php +33 −27 Go to diff View file
A plugins/baseline/tests/unit/Stub/AddRoleAssignmentsHistoryEntryStub.php +49 −0 Go to diff View file