model)->toBe($mock) ->and($input->targetOrder)->toBe(5); }); it('throws when target order is less than 1', function (): void { // GIVEN $mock = new class () extends Model implements ModelWithOrder { public function getOrder(): int { return 1; } public function setOrder(int $order): void { } }; // WHEN & THEN expect(fn () => new ChangeModelOrderPositionInput(model: $mock, targetOrder: 0)) ->toThrow(\InvalidArgumentException::class); }); });