refactor: WriteFailed named constructors, Rollback runner, Errors read-back helpers (H6)
- WriteFailed::rolledBack()/partial() replace the 11-parameter constructor (now private); the hint/state of either error are plain $hint/$state. - Rollback::attempt(...steps) runs every undo step and collects failure messages; used by ContentCreate::discard, ContentUpdate::rollBack, MediaUpdate::rollBack and DiviSaver::restore. - Errors::clientMessage/codeOf/fieldsOf replace DiviReplaceTextAbility::reason, the JSON digging in MediaUpdateAbility::failure and ContentCreateAbility::fields. - Errors docblock documents the exception/WP_Error split. - ContentCreateAbility::discard takes the client reason as a parameter (both callers still pass REASON_EXTRAS; changing the Divi text needs a ruling). Error payloads unchanged. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -182,7 +182,12 @@ final class AbilityRegistrarTest extends TestCase
|
||||
$previous = ini_set('error_log', $log);
|
||||
$ability = $this->ability();
|
||||
$ability->expects('execute')->andThrow(
|
||||
new WriteFailed('Felder konnten nicht gespeichert werden.', false, 5, 811, new RuntimeException('meta /var/www'))
|
||||
WriteFailed::partial(
|
||||
'Felder konnten nicht gespeichert werden.',
|
||||
new RuntimeException('meta /var/www'),
|
||||
postId: 5,
|
||||
revisionId: 811
|
||||
)
|
||||
);
|
||||
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user