Skip to content

182 add date time interface param #59

182 add date time interface param

182 add date time interface param #59

Triggered via pull request November 29, 2023 11:03
Status Failure
Total duration 1m 59s
Artifacts

ci.yml

on: pull_request
Matrix: Code style
Matrix: Code coverage
Matrix: Mutation testing
Matrix: Psalm
Matrix: Security check
Matrix: PhpStan
Matrix: unit
Fit to window
Zoom out
Zoom in

Annotations

11 errors and 19 warnings
InvalidStringClass: src/Specification/SpecificationParser.php#L64
src/Specification/SpecificationParser.php:64:36: InvalidStringClass: String cannot be used as a class (see https://psalm.dev/160)
PropertyTypeCoercion: src/Specification/SpecificationParser.php#L64
src/Specification/SpecificationParser.php:64:36: PropertyTypeCoercion: $this->dateTimeClass expects 'DateTimeInterface|null', parent type 'object' provided (see https://psalm.dev/198)
UndefinedMethod: src/Types/TypeSerializer.php#L21
src/Types/TypeSerializer.php:21:20: UndefinedMethod: Method DateTimeInterface::createfromformat does not exist (see https://psalm.dev/022)
MoreSpecificReturnType: src/Types/TypeSerializer.php#L32
src/Types/TypeSerializer.php:32:105: MoreSpecificReturnType: The declared return type 'DateTimeInterface' for OnMoon\OpenApiServerBundle\Types\TypeSerializer::deserializeDateTime is more specific than the inferred return type 'object' (see https://psalm.dev/070)
UndefinedClass: src/Types/TypeSerializer.php#L35
src/Types/TypeSerializer.php:35:20: UndefinedClass: Type DateTimeInterface cannot be called as a class (see https://psalm.dev/019)
LessSpecificReturnStatement: src/Types/TypeSerializer.php#L35
src/Types/TypeSerializer.php:35:20: LessSpecificReturnStatement: The type 'object' is more general than the declared return type 'DateTimeInterface' for OnMoon\OpenApiServerBundle\Types\TypeSerializer::deserializeDateTime (see https://psalm.dev/129)
Psalm (ubuntu-latest, 8.1)
Process completed with exit code 2.
PhpStan (ubuntu-latest, 8.1): src/Specification/SpecificationParser.php#L64
Property OnMoon\OpenApiServerBundle\Specification\SpecificationParser::$dateTimeClass (DateTimeInterface|null) does not accept object.
PhpStan (ubuntu-latest, 8.1): src/Types/TypeSerializer.php#L21
Call to an undefined static method DateTimeInterface::createFromFormat().
PhpStan (ubuntu-latest, 8.1)
Process completed with exit code 1.
Mutation testing (ubuntu-latest, 8.1)
Process completed with exit code 1.
Security check (ubuntu-latest, 8.1)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Unit tests 8.0-ubuntu-latest-lowest
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Psalm (ubuntu-latest, 8.1)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Code style (ubuntu-latest, 8.1)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Code coverage (ubuntu-latest, 8.1)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Unit tests 8.1-ubuntu-latest-highest
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
PhpStan (ubuntu-latest, 8.1)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Unit tests 8.1-ubuntu-latest-lowest
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Unit tests 8.0-ubuntu-latest-highest
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Unit tests 8.0-windows-latest-highest
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Unit tests 8.0-windows-latest-lowest
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Unit tests 8.1-windows-latest-lowest
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Unit tests 8.1-windows-latest-highest
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Mutation testing (ubuntu-latest, 8.1)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Mutation testing (ubuntu-latest, 8.1): src/CodeGenerator/AttributeGenerator.php#L47
Escaped Mutant for Mutator "LogicalOrAllSubExprNegation": --- Original +++ New @@ @@ public function requestPass(?DtoReference $root) : void { $this->treeWalk($root, static function (Property $specProperty, PropertyDefinition $property) : void { - $willExist = $specProperty->isRequired() || $specProperty->getDefaultValue() !== null; + $willExist = !$specProperty->isRequired() || !($specProperty->getDefaultValue() !== null); $property->setHasGetter(true)->setHasSetter(false)->setNullable(!$willExist || $specProperty->isNullable())->setInConstructor(false); }); }
Mutation testing (ubuntu-latest, 8.1): src/CodeGenerator/AttributeGenerator.php#L47
Escaped Mutant for Mutator "LogicalOrSingleSubExprNegation": --- Original +++ New @@ @@ public function requestPass(?DtoReference $root) : void { $this->treeWalk($root, static function (Property $specProperty, PropertyDefinition $property) : void { - $willExist = $specProperty->isRequired() || $specProperty->getDefaultValue() !== null; + $willExist = !$specProperty->isRequired() || $specProperty->getDefaultValue() !== null; $property->setHasGetter(true)->setHasSetter(false)->setNullable(!$willExist || $specProperty->isNullable())->setInConstructor(false); }); }
Mutation testing (ubuntu-latest, 8.1): src/Serializer/ArrayDtoSerializer.php#L117
Escaped Mutant for Mutator "LogicalAndNegation": --- Original +++ New @@ @@ $converter = fn($v) => $this->convert($deserialize, $v, $objectType->getSchema()); } else { $outputClass = null; - if ($typeId !== null && $this->resolver->isDateTime($typeId)) { + if (!($typeId !== null && $this->resolver->isDateTime($typeId))) { $outputClass = $property->getOutputType(); } /** @psalm-suppress MissingClosureParamType */
Mutation testing (ubuntu-latest, 8.1): src/Serializer/ArrayDtoSerializer.php#L117
Escaped Mutant for Mutator "LogicalAndSingleSubExprNegation": --- Original +++ New @@ @@ $converter = fn($v) => $this->convert($deserialize, $v, $objectType->getSchema()); } else { $outputClass = null; - if ($typeId !== null && $this->resolver->isDateTime($typeId)) { + if ($typeId !== null && !$this->resolver->isDateTime($typeId)) { $outputClass = $property->getOutputType(); } /** @psalm-suppress MissingClosureParamType */
Mutation testing (ubuntu-latest, 8.1): src/Types/ScalarTypesResolver.php#L83
Escaped Mutant for Mutator "NotIdentical": --- Original +++ New @@ @@ } $format = $this->scalarTypes[$id]; if ($deserialize && isset($format['deserializer'])) { - if ($outputClass !== null) { + if ($outputClass === null) { return TypeSerializer::{$format['deserializer']}($value, $outputClass); } return TypeSerializer::{$format['deserializer']}($value);