'Pflichtfeld']), 'validation_failed'); self::assertSame('Titel fehlt.', $payload['message']); self::assertSame(['title' => 'Pflichtfeld'], self::errorFields(Errors::invalidInput('x', ['title' => 'Pflichtfeld']))); } /** @return array Built in the test: Errors needs the stubs of setUp(). */ public static function notTheError(): array { return [ 'another code' => [static fn () => Errors::notFound('weg')], 'no JSON payload' => [static fn () => new WP_Error('lit_validation_failed', 'kein JSON')], 'no error at all' => [static fn () => ['ok' => true]], ]; } /** @dataProvider notTheError */ public function testFailsForAnythingElse(callable $result): void { $this->expectException(AssertionFailedError::class); self::assertToolError($result(), 'validation_failed'); } public function testErrorFieldsFailsWithoutFields(): void { $this->expectException(AssertionFailedError::class); self::errorFields(Errors::invalidInput('x')); } }