Branch Coverage

blib/lib/GraphQL/Plugin/Convert/OpenAPI.pm
Criterion Covered Total %
branch 109 128 85.1


line true false branch
28 631 367 unless $modifier
29 0 281 if $modifier eq 'non_null' and ref $typespec eq 'ARRAY' and $typespec->[0] eq 'non_null'
37 364 1651 if ref $typespec eq 'HASH'
38 1287 364 if ref $typespec ne 'ARRAY'
45 0 24 unless defined $type
46 13 11 if $TYPE2SCALAR{$type} or +($type2info->{$type} || {})->{'is_enum'}
47 3 8 if (ref $type eq 'ARRAY')
50 1 2 if $mod eq 'non_null'
51 0 2 if $mod ne 'list'
59 1 9 if ($field2is_hashpair->{$_}) { }
89 3 0 if (ref $root_value eq 'HASH' and $type2info->{$parent_type} and my $prop = $type2info->{$parent_type}{'field2prop'}{$field_name})
97 0 6 ref $root_value eq 'HASH' ? :
100 0 6 if ref $property eq 'CODE'
101 0 6 if ref $root_value eq 'HASH'
102 0 6 unless (UNIVERSAL::isa($root_value, 'OpenAPI::Client'))
103 0 0 unless $root_value->can($field_name)
119 0 6 if $res->is_error
124 1 5 if ($$type2info{$return_type->to_string}{'is_hashpair'})
127 0 1 unless $json
137 0 6 if $@
144 0 1145 unless defined $name
152 17 1042 unless $info and %$info
154 214 828 if ($info->{'$ref'} and ($info->{'type'} // '') ne 'array')
160 6 822 if ($info->{'additionalProperties'} or ($info->{'type'} // '') eq 'object' and not $info->{'properties'})
183 5 802 if ($info->{'properties'} or $info->{'allOf'} or $info->{'enum'})
191 71 731 if ($info->{'type'} eq 'array')
204 11 720 if ($info->{'type'} // '') eq 'string' and ($info->{'format'} // '') eq 'date-time'
214 103 45 unless $refinfo->{'required'}
232 30 633 if $info->{'description'}
241 1 23 if (exists $merged{$k}) { }
242 0 1 if ref $f2->{$k}{'type'}
259 4 151 if ($refinfo->{'allOf'}) { }
7 144 elsif (my $values = $refinfo->{'enum'}) { }
262 4 4 if ($schema->{'$ref'}) { }
266 2 2 if $othertypedef->{'kind'} eq 'interface'
280 2 19 unless length $trimmed
290 0 7 if $refinfo->{'title'}
292 3 4 if $refinfo->{'description'}
304 1 147 $refinfo->{'discriminator'} ? :
309 4 144 if $refinfo->{'title'}
311 7 141 if $refinfo->{'description'}
320 116 0 if @$types2 == 1
334 55 317 if ref $type eq 'HASH'
335 55 317 if (ref $type eq 'ARRAY')
349 6 39 if $TYPE2SCALAR{$type} or $name2type->{$type}{'kind'} eq 'enum' or $name2type->{$type}{'kind'} eq 'input'
368 1 34 $typedef->{'description'} ? :
385 203 112 unless $ref
398 43 73 $METHOD2MUTATION{$method} ? :
409 11 105 unless @responsetypes
422 22 187 $_->{'schema'} ? :
433 1 208 if $is_hashpair
438 199 10 $_->{'description'} ? :
443 110 6 $description ? :
106 10 %args ? :
458 85 890 if $name2typeused->{$name}
459 735 155 if $TYPE2SCALAR{$name}
462 7 148 if $KIND2SIMPLE{$type->{'kind'}}
463 0 148 if ($type->{'kind'} eq 'union')
468 1 147 if ($type->{'kind'} eq 'interface')
471 38 2 if $maybe_type->{'kind'} ne 'type' or not $maybe_type->{'interfaces'}
472 0 2 unless grep(($_ eq $name), @{$$maybe_type{'interfaces'};})
482 645 106 unless $field_def->{'args'}
645 106 unless %{{} unless $field_def->{'args'};}
493 2 5 if $app