Classes

Coverage Distribution

Complexity

Insufficient Coverage

Class Coverage
Cosray\Category0%
Cosray\Collection\Schema\PermissionHandler0%
Cosray\JsonRenderer0%
Cosray\Validation\TokenLogin0%
Cosray\Richtext\OwnerResolver6%
Cosray\Field\Decimal10%
Cosray\CollectionListMeta12%
Cosray\Field\Number20%
Cosray\Field\Radio20%
Cosray\NavLink35%
Cosray\Field\Code52%
Cosray\Util\Html54%
Cosray\Locales57%
Cosray\App57%
Cosray\Finder\Output\UrlPath58%
Cosray\Value\Images60%
Cosray\Collection\Schema66%
Cosray\Panel\Extras66%
Cosray\Field\Capability\IsDefaultable66%
Cosray\Node\PathManager67%
Cosray\Finder\Output\Exists68%
Cosray\Exception\IngestError70%
Cosray\Console\Commands70%
Cosray\Plugin\Registrar70%
Cosray\Field\Schema\OptionsHandler71%
Cosray\Field\Schema\SyntaxHandler71%
Cosray\Node\UrlPaths71%
Cosray\Assets\Image72%
Cosray\Node\Wrapper72%
Cosray\Node\Meta75%
Cosray\Panel\NormalizesInput75%
Cosray\Value\Decimal75%
Cosray\Navigation80%
Cosray\Node\FieldOwner80%
Cosray\PanelRenderer80%
Cosray\Value\Option80%
Cosray\Field\Capability\IsSelectable80%
Cosray\Collection\Ref81%
Cosray\Finder\MenuItem82%
Cosray\Config83%
Cosray\Field\Schema\LimitHandler83%
Cosray\Field\Video83%
Cosray\Middleware\InitRequest83%
Cosray\Field\Capability\IsLimitable83%
Cosray\Field\FieldHydrator83%
Cosray\Mail\Transports84%
Cosray\Icons\Local84%
Cosray\Node\Type85%
Cosray\User\PasswordPolicy85%
Cosray\Assets\Assets85%
Cosray\Config\Icons85%
Cosray\Config\Panel85%
Cosray\Field\Schema\LinesHandler85%
Cosray\Field\Schema\PlaceholderHandler85%
Cosray\Node\RoutePathGenerator85%
Cosray\Value\Value86%
Cosray\Controller\Media86%
Cosray\Field\Schema\TranslateHandler86%
Cosray\Node\Store86%
Cosray\Richtext\Validator86%
Cosray\Controller\Panel\Editor86%
Cosray\Icons\Iconify87%
Cosray\Value\Files87%
Cosray\Node\Duplicator88%
Cosray\Field\Entries88%
Cosray\Testing\TestCase88%
Cosray\Util\LiveReload88%
Cosray\Icons88%
Cosray\Bootstrap88%
Cosray\Collection\Schema\IconHandler88%
Cosray\Node\Schema\IconHandler88%
Cosray\Panel\CollectionTable89%
Cosray\Assets\Util89%
Cosray\Controller\Panel\Login89%
Cosray\Value\Entries89%
Cosray\User89%

Project Risks

Class Coverage Complexity CRAP
Cosray\Node\RoutePathGenerator85.8%150214
Cosray\Controller\Panel\Editor86.9%158213
Cosray\Finder\Output\UrlPath58.7%48210
Cosray\Locales57.1%44196
Cosray\App57.9%42173
Cosray\Node\Store86.8%127164
Cosray\Richtext\Validator86.9%123157
Cosray\Richtext\OwnerResolver6.7%11109
Cosray\Bootstrap88.8%7684
Cosray\Panel\CollectionTable89.0%7076
Cosray\Finder\MenuItem82.3%5165
Cosray\Node\Wrapper72.7%3457
Cosray\JsonRenderer0.0%756
Cosray\Node\PathManager67.4%2752
Cosray\Icons\Iconify87.5%4650
Cosray\Icons\Local84.8%4349
Cosray\Controller\Media86.5%4448
Cosray\Assets\Image72.7%2843
Cosray\Value\Files87.8%3638
Cosray\Field\Code52.6%1434
Cosray\Field\Entries88.2%3132
Cosray\Controller\Panel\Login89.5%3031
Cosray\Field\FieldHydrator83.8%2831
Cosray\Node\Duplicator88.0%2930
Cosray\User\PasswordPolicy85.0%2830
Cosray\Value\Value86.5%2829
Cosray\NavLink35.3%825
Cosray\Console\Commands70.8%1724
Cosray\Field\Decimal10.0%523
Cosray\User89.7%2323
Cosray\Value\Decimal75.9%1721
Cosray\Finder\Output\Exists68.0%1420
Cosray\Node\Meta75.0%1620
Cosray\Testing\TestCase88.2%1919
Cosray\Field\Number20.0%517
Cosray\Field\Radio20.0%517
Cosray\Value\Entries89.7%1717
Cosray\Navigation80.0%1516
Cosray\Util\Html54.5%916
Cosray\Value\Images60.0%1016
Cosray\Collection\Schema66.7%1115
Cosray\Icons88.5%1414
Cosray\Node\Type85.0%1313
Cosray\Config83.3%1212
Cosray\Assets\Util89.3%1010
Cosray\Mail\Transports84.2%1010
Cosray\Util\LiveReload88.2%1010
Cosray\Field\Capability\IsLimitable83.3%1010
Cosray\PanelRenderer80.0%77
Cosray\Value\Option80.0%77
Cosray\Panel\NormalizesInput75.0%77
Cosray\Collection\Schema\PermissionHandler0.0%26
Cosray\Field\Schema\TranslateHandler86.7%66
Cosray\Collection\Ref81.8%55
Cosray\Config\Icons85.7%55
Cosray\Config\Panel85.7%55
Cosray\Field\Video83.3%55
Cosray\Field\Schema\LimitHandler83.3%44
Cosray\Field\Schema\LinesHandler85.7%44
Cosray\Field\Schema\OptionsHandler71.4%44
Cosray\Field\Schema\PlaceholderHandler85.7%44
Cosray\Field\Schema\SyntaxHandler71.4%44
Cosray\Middleware\InitRequest83.3%44
Cosray\Node\UrlPaths71.4%44
Cosray\Field\Capability\IsSelectable80.0%44
Cosray\Assets\Assets85.7%33
Cosray\Collection\Schema\IconHandler88.9%22
Cosray\Node\Schema\IconHandler88.9%22

Methods

Coverage Distribution

Complexity

Insufficient Coverage

Method Coverage
serve0%
plugin0%
collection0%
icons0%
role0%
allow0%
user0%
group0%
staticRoute0%
before0%
after0%
middleware0%
register0%
__call0%
secondDimension0%
policy0%
nodeSchemas0%
fieldServices0%
collectionSchemas0%
synchronizeNodes0%
__construct0%
children0%
__isset0%
properties0%
resolve0%
array0%
has0%
i18n0%
jobRunner0%
sendFile0%
paths0%
create0%
tooLarge0%
hidden0%
value0%
structure0%
shape0%
rowKind0%
scalarValue0%
supportedTranslateModes0%
structure0%
structure0%
shape0%
structure0%
shape0%
rewind0%
current0%
key0%
next0%
valid0%
setChildren0%
find0%
type0%
scalarComparison0%
date0%
__construct0%
handle0%
response0%
replace0%
setNegotiator0%
fromBrowser0%
slug0%
icon0%
uid0%
paths0%
all0%
path0%
resolveParent0%
__call0%
addJs0%
createBlocks0%
replace0%
nodeSchema0%
collectionSchema0%
collection0%
user0%
role0%
allow0%
js0%
asset0%
nodePath0%
localize0%
array0%
request0%
byUid0%
sanitize0%
__construct0%
validate0%
__toString0%
json0%
isset0%
__toString0%
count0%
len0%
__toString0%
__toString0%
__toString0%
raw0%
strip0%
zxx0%
getDefault0%
add0%
guarded23%
routeNeedsHandle25%
condition33%
ancestor33%
saveUrlPaths38%
__get40%
isComparison40%
queryValue40%
shape41%
store42%
installed44%
updateItem47%
redirect50%
requireAllowedEntryTypes50%
localizeOption50%
getRegex50%
decodeContent50%
resolveDeletable50%
assertUidUnchanged50%
ensureRouteHandle50%
__get50%
__isset50%
disconnect50%
createApp50%
structure55%
completeGeneratedPaths56%
get57%
nodeStatus57%
persistHandle59%
writeRendition59%
notice60%
timezone60%
duplicate60%
nodeId60%
get60%
status60%
sameSite60%
fieldPath61%
localeClause61%
store61%
redirect62%
intParam63%
displayValue64%
embedFields65%
localized66%
addMigrations66%
addSql66%
addTemplates66%
node66%
get66%
__destruct66%
assetLabel66%
structure66%
properties66%
properties66%
properties66%
properties66%
structure66%
peekNext66%
failed66%
appendAttribute66%
getDefault66%
negotiate66%
fieldType66%
active66%
map66%
arrayFrom66%
indexName66%
hasFile66%
limit66%
items66%
arrayFrom66%
fromRequest68%
allow68%
dynamicTitle68%
resolveParentUid69%
serialize70%
notice71%
normalize71%
joinStyles71%
selectPicture71%
handle71%
style71%
imageAttrs71%
intParam72%
resolveParentId72%
type75%
assertWritable75%
fromBody75%
contentOf75%
delete75%
reloadPort75%
parentNode75%
stringParam75%
stringParam75%
renderIcon75%
normalize75%
containsEmbedded75%
listValueMap75%
apply75%
apply75%
apply75%
image75%
assetPath75%
value75%
blockList75%
entryList75%
__construct75%
prepareUrlPath75%
fieldMeta75%
parentByNode75%
parentByUid75%
normalizePath75%
nodeId75%
has75%
textLike75%
datetime75%
mark75%
styleMark75%
horizontalRuleAttrs75%
classAttr75%
writableField75%
balanceTags75%
initFields75%
url75%
resolve75%
getField76%
purgeRenditions76%
activePath77%
logout77%
literal77%
markCopy77%
get77%
requiredSlug77%
getJsonFieldExpression78%
displayDate78%
userLabel78%
sanitizedNext78%
assertMove78%
hydrateAll78%
names80%
paths80%
renderer80%
withPostgresqlObjectPrefix80%
itemTitle80%
logo80%
normalize80%
send80%
mediaList80%
generateFromRoute80%
isInt80%
children80%
link80%
service80%
minItems80%
maxItems80%
__construct80%
prepareEntries80%
__get80%
cacheDir81%
operand81%
transformList81%
normalizePaths81%
structure82%
editorContext82%
next83%
__construct83%
isAnimatedGif83%
forgetRemembered83%
getSessionTokenHash83%
strings83%
isBoolean83%
strings83%
strings83%
locales83%
locale83%
itemPayload83%
apply83%
get83%
split83%
mergeStyle83%
transports83%
process83%
normalize83%
isLocaleMap83%
create83%
titleEvalNode83%
__construct83%
withHost83%
publicPath83%
schema84%
marker84%
rememberCookieOptions84%
list85%
uid85%
resize85%
startSession85%
rememberUser85%
childBlueprints85%
prefix85%
serve85%
createPaths85%
embedContent85%
nodeClass85%
fromInput85%
properties85%
childrenOf85%
only85%
parentPath85%
materializeTitle85%
children85%
marks85%
attrs85%
permission85%
setUp85%
localize85%
currency85%
files85%
files85%
content86%
icon86%
search86%
fromQuery87%
sizePath87%
createCacheFile87%
addPanelPage87%
icon87%
transports87%
intParam87%
properties87%
apply87%
exclude87%
fieldExpression87%
localeIds87%
node87%
loginUrl87%
pathMap87%
resolveTitle87%
children87%
icon87%
initials87%
complete87%
effectiveFiles87%
customRenderer87%
hook87%
expand88%
marks88%
materializeLists88%
neighbour88%
resolveAttributes88%
resolve88%
cache88%
openParam88%
openParam88%
properties88%
entriesField88%
resolve88%
path88%
__construct88%
handle88%
authenticate89%
block89%
request89%

Project Risks

Method Coverage Complexity CRAP
condition33.3%18114
fromBrowser0.0%990
__call0.0%530
sendFile0.0%530
schema84.6%2830
localize0.0%530
itemPayload83.3%2527
displayValue64.0%1423
saveUrlPaths38.7%822
routeNeedsHandle25.0%621
synchronizeNodes0.0%420
handle0.0%420
path0.0%420
resolveParent0.0%420
content86.4%1919
fieldPath61.1%1118
writeRendition59.3%1016
notice71.4%1316
shape41.7%716
node87.5%1616
nodeStatus57.1%915
fromRequest68.4%1114
status60.0%914
marks85.7%1414
store61.8%913
__get50.0%713
i18n0.0%312
paths0.0%312
resolve75.8%1112
installed44.4%612
nodePath0.0%312
mark75.0%1112
request0.0%312
sanitize0.0%312
guarded23.1%411
containsEmbedded75.0%1011
localeClause61.5%811
link80.0%1111
embedFields65.0%810
hydrateAll78.8%1010
materializeLists88.6%1010
decodeContent50.0%610
__isset50.0%610
imageAttrs71.4%910
intParam63.6%79
operand81.8%99
create83.3%99
attrs85.7%99
files85.7%99
files85.7%99
next83.3%88
list85.7%88
cache88.9%88
structure82.6%88
getJsonFieldExpression78.3%88
block89.3%88
expand88.2%88
ancestor33.3%48
hook87.5%88
uid85.7%77
paths80.0%77
isAnimatedGif83.3%77
childBlueprints85.7%77
transports87.5%77
userLabel78.6%77
intParam72.7%77
sanitizedNext78.6%77
allow68.8%67
getField76.5%77
request89.5%77
markCopy77.8%77
marks88.2%77
delete75.0%66
__isset0.0%26
resolve0.0%26
fromInput85.7%66
shape0.0%26
structure0.0%26
shape0.0%26
shape0.0%26
transformList81.8%66
current0.0%26
search87.0%66
scalarComparison0.0%26
icon86.7%66
store42.9%46
normalizePaths81.8%66
isLocaleMap83.3%66
icon0.0%26
get77.8%66
persistHandle59.1%56
children80.0%66
asset0.0%26
classAttr75.0%66
permission85.7%66
sameSite60.0%56
initials87.5%66
withHost83.3%66
__toString0.0%26
prepareEntries80.0%66
__toString0.0%26
zxx0.0%26
localized66.7%55
activePath77.8%55
purgeRenditions76.9%55
withPostgresqlObjectPrefix80.0%55
openParam88.9%55
embedContent85.7%55
displayDate78.6%55
openParam88.9%55
authenticate89.3%55
renderIcon75.0%55
nodeClass85.7%55
intParam87.5%55
notice60.0%45
timezone60.0%45
structure55.6%45
normalize71.4%55
fieldExpression87.5%55
literal77.8%55
cacheDir81.2%55
appendAttribute66.7%55
transports83.3%55
mediaList80.0%55
selectPicture71.4%55
marker84.6%55
generateFromRoute80.0%55
nodeId60.0%45
pathMap87.5%55
materializeTitle85.7%55
titleEvalNode83.3%55
resolveParentUid69.2%55
get60.0%45
path88.9%55
style71.4%55
children87.5%55
hasFile66.7%55
type75.0%44
assertWritable75.0%44
fromQuery87.5%44
contentOf75.0%44
resize85.7%44
createCacheFile87.5%44
logout77.8%44
neighbour88.9%44
strings83.3%44
strings83.3%44
strings83.3%44
editorContext82.8%44
localizeOption50.0%34
listValueMap75.0%44
apply83.3%44
getRegex50.0%34
isComparison40.0%34
queryValue40.0%34
split83.3%44
assertMove78.6%44
process83.3%44
value75.0%44
blockList75.0%44
entryList75.0%44
serialize70.4%44
requiredSlug77.8%44
assertUidUnchanged50.0%34
ensureRouteHandle50.0%34
isInt80.0%44
handle71.4%44
children85.7%44
horizontalRuleAttrs75.0%44
createApp50.0%34
complete87.5%44
balanceTags75.0%44
effectiveFiles87.5%44
publicPath83.3%44
customRenderer87.5%44
limit66.7%44
fromBody75.0%33
names80.0%33
sizePath87.5%33
startSession85.7%33
forgetRemembered83.3%33
getSessionTokenHash83.3%33
node66.7%33
resolveAttributes88.9%33
get57.1%33
isBoolean83.3%33
reloadPort75.0%33
locales83.3%33
locale83.3%33
serve85.7%33
createPaths85.7%33
itemTitle80.0%33
logo80.0%33
normalize75.0%33
apply87.5%33
properties85.7%33
image75.0%33
assetPath75.0%33
only85.7%33
exclude87.5%33
localeIds87.5%33
normalize80.0%33
mergeStyle83.3%33
joinStyles71.4%33
send80.0%33
loginUrl87.5%33
normalize83.3%33
parentPath85.7%33
normalizePath75.0%33
nodeId75.0%33
dynamicTitle68.8%33
resolveParentId72.7%33
completeGeneratedPaths56.2%33
has75.0%33
map66.7%33
arrayFrom66.7%33
textLike75.0%33
styleMark75.0%33
rememberCookieOptions84.6%33
writableField75.0%33
__construct88.9%33
localize85.7%33
currency85.7%33
__get80.0%33
arrayFrom66.7%33
__construct83.3%22
rememberUser85.7%22
addMigrations66.7%22
addSql66.7%22
addTemplates66.7%22
addPanelPage87.5%22
renderer80.0%22
icon87.5%22
__get40.0%22
get66.7%22
resolve88.9%22
prefix85.7%22
__destruct66.7%22
parentNode75.0%22
stringParam75.0%22
stringParam75.0%22
redirect50.0%22
updateItem47.4%22
assetLabel66.7%22
redirect62.5%22
requireAllowedEntryTypes50.0%22
structure66.7%22
properties88.9%22
apply75.0%22
properties87.5%22
properties66.7%22
apply75.0%22
properties66.7%22
properties66.7%22
apply75.0%22
properties66.7%22
structure66.7%22
childrenOf85.7%22
get83.3%22
peekNext66.7%22
failed66.7%22
getDefault66.7%22
negotiate66.7%22
entriesField88.9%22
fieldType66.7%22
__construct75.0%22
active66.7%22
duplicate60.0%22
prepareUrlPath75.0%22
fieldMeta75.0%22
parentByNode75.0%22
parentByUid75.0%22
resolve88.9%22
resolveTitle87.5%22
resolveDeletable50.0%22
datetime75.0%22
__construct83.3%22
icon87.5%22
disconnect50.0%22
setUp85.7%22
service80.0%22
indexName66.7%22
minItems80.0%22
maxItems80.0%22
__construct80.0%22
initFields75.0%22
url75.0%22
handle88.9%22
items66.7%22