285 lines
18 KiB
HTML
285 lines
18 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>Dashboard for /app/srcs/app/Http/Controllers</title>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<link href="../../_css/bootstrap.min.css" rel="stylesheet" type="text/css">
|
|
<link href="../../_css/nv.d3.min.css" rel="stylesheet" type="text/css">
|
|
<link href="../../_css/style.css" rel="stylesheet" type="text/css">
|
|
<link href="../../_css/custom.css" rel="stylesheet" type="text/css">
|
|
</head>
|
|
<body>
|
|
<header>
|
|
<div class="container-fluid">
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<nav aria-label="breadcrumb">
|
|
<ol class="breadcrumb">
|
|
<li class="breadcrumb-item"><a href="../../index.html">/app/srcs/app</a></li>
|
|
<li class="breadcrumb-item"><a href="../index.html">Http</a></li>
|
|
<li class="breadcrumb-item"><a href="index.html">Controllers</a></li>
|
|
<li class="breadcrumb-item active">(Dashboard)</li>
|
|
|
|
</ol>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
<div class="container-fluid">
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<h2>Classes</h2>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<h3>Coverage Distribution</h3>
|
|
<div id="classCoverageDistribution" style="height: 300px;">
|
|
<svg></svg>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<h3>Complexity</h3>
|
|
<div id="classComplexity" style="height: 300px;">
|
|
<svg></svg>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<h3>Insufficient Coverage</h3>
|
|
<div class="scrollbox">
|
|
<table class="table">
|
|
<thead>
|
|
<tr>
|
|
<th>Class</th>
|
|
<th class="text-right">Coverage</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<h3>Project Risks</h3>
|
|
<div class="scrollbox">
|
|
<table class="table">
|
|
<thead>
|
|
<tr>
|
|
<th>Class</th>
|
|
<th class="text-right"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<h2>Methods</h2>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<h3>Coverage Distribution</h3>
|
|
<div id="methodCoverageDistribution" style="height: 300px;">
|
|
<svg></svg>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<h3>Complexity</h3>
|
|
<div id="methodComplexity" style="height: 300px;">
|
|
<svg></svg>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<h3>Insufficient Coverage</h3>
|
|
<div class="scrollbox">
|
|
<table class="table">
|
|
<thead>
|
|
<tr>
|
|
<th>Method</th>
|
|
<th class="text-right">Coverage</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<h3>Project Risks</h3>
|
|
<div class="scrollbox">
|
|
<table class="table">
|
|
<thead>
|
|
<tr>
|
|
<th>Method</th>
|
|
<th class="text-right"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<footer>
|
|
<hr/>
|
|
<p>
|
|
<small>Generated by <a href="https://github.com/sebastianbergmann/php-code-coverage" target="_top">php-code-coverage 9.2.16</a> using <a href="https://secure.php.net/" target="_top">PHP 7.3.33</a> and <a href="https://phpunit.de/">PHPUnit 9.5.23</a> at Mon Jun 26 12:48:27 CEST 2023.</small>
|
|
</p>
|
|
</footer>
|
|
</div>
|
|
<script src="../../_js/jquery.min.js" type="text/javascript"></script>
|
|
<script src="../../_js/d3.min.js" type="text/javascript"></script>
|
|
<script src="../../_js/nv.d3.min.js" type="text/javascript"></script>
|
|
<script type="text/javascript">
|
|
$(document).ready(function() {
|
|
nv.addGraph(function() {
|
|
var chart = nv.models.multiBarChart();
|
|
chart.tooltips(false)
|
|
.showControls(false)
|
|
.showLegend(false)
|
|
.reduceXTicks(false)
|
|
.staggerLabels(true)
|
|
.yAxis.tickFormat(d3.format('d'));
|
|
|
|
d3.select('#classCoverageDistribution svg')
|
|
.datum(getCoverageDistributionData([0,0,0,0,0,0,0,0,0,0,0,18], "Class Coverage"))
|
|
.transition().duration(500).call(chart);
|
|
|
|
nv.utils.windowResize(chart.update);
|
|
|
|
return chart;
|
|
});
|
|
|
|
nv.addGraph(function() {
|
|
var chart = nv.models.multiBarChart();
|
|
chart.tooltips(false)
|
|
.showControls(false)
|
|
.showLegend(false)
|
|
.reduceXTicks(false)
|
|
.staggerLabels(true)
|
|
.yAxis.tickFormat(d3.format('d'));
|
|
|
|
d3.select('#methodCoverageDistribution svg')
|
|
.datum(getCoverageDistributionData([0,0,0,0,0,0,0,0,0,0,0,80], "Method Coverage"))
|
|
.transition().duration(500).call(chart);
|
|
|
|
nv.utils.windowResize(chart.update);
|
|
|
|
return chart;
|
|
});
|
|
|
|
function getCoverageDistributionData(data, label) {
|
|
var labels = [
|
|
'0%',
|
|
'0-10%',
|
|
'10-20%',
|
|
'20-30%',
|
|
'30-40%',
|
|
'40-50%',
|
|
'50-60%',
|
|
'60-70%',
|
|
'70-80%',
|
|
'80-90%',
|
|
'90-100%',
|
|
'100%'
|
|
];
|
|
var values = [];
|
|
$.each(labels, function(key) {
|
|
values.push({x: labels[key], y: data[key]});
|
|
});
|
|
|
|
return [
|
|
{
|
|
key: label,
|
|
values: values,
|
|
color: "#4572A7"
|
|
}
|
|
];
|
|
}
|
|
nv.addGraph(function() {
|
|
var chart = nv.models.scatterChart()
|
|
.showDistX(true)
|
|
.showDistY(true)
|
|
.showLegend(false)
|
|
.forceX([0, 100]);
|
|
chart.tooltipContent(function(graph) {
|
|
return '<p>' + graph.point.class + '</p>';
|
|
});
|
|
|
|
chart.xAxis.axisLabel('Code Coverage (in percent)');
|
|
chart.yAxis.axisLabel('Cyclomatic Complexity');
|
|
|
|
d3.select('#classComplexity svg')
|
|
.datum(getComplexityData([[100,10,"<a href=\"AnswerController.php.html#17\">App\\Http\\Controllers\\AnswerController<\/a>"],[100,57,"<a href=\"Api\/V1\/ArcadiaController.php.html#19\">App\\Http\\Controllers\\Api\\V1\\ArcadiaController<\/a>"],[100,69,"<a href=\"Api\/V1\/CustomerController.php.html#22\">App\\Http\\Controllers\\Api\\V1\\CustomerController<\/a>"],[100,1,"<a href=\"Api\/V2\/AnswerController.php.html#12\">App\\Http\\Controllers\\Api\\V2\\AnswerController<\/a>"],[100,1,"<a href=\"Api\/V2\/ApiController.php.html#8\">App\\Http\\Controllers\\Api\\V2\\ApiController<\/a>"],[100,8,"<a href=\"Api\/V2\/ArcadiaController.php.html#29\">App\\Http\\Controllers\\Api\\V2\\ArcadiaController<\/a>"],[100,26,"<a href=\"Api\/V2\/CustomerController.php.html#22\">App\\Http\\Controllers\\Api\\V2\\CustomerController<\/a>"],[100,4,"<a href=\"Api\/V2\/OptinController.php.html#15\">App\\Http\\Controllers\\Api\\V2\\OptinController<\/a>"],[100,3,"<a href=\"Api\/V2\/QuestionController.php.html#14\">App\\Http\\Controllers\\Api\\V2\\QuestionController<\/a>"],[100,5,"<a href=\"Api\/V2\/StatsController.php.html#18\">App\\Http\\Controllers\\Api\\V2\\StatsController<\/a>"],[100,9,"<a href=\"BrandController.php.html#17\">App\\Http\\Controllers\\BrandController<\/a>"],[100,19,"<a href=\"Controller.php.html#16\">App\\Http\\Controllers\\Controller<\/a>"],[100,31,"<a href=\"CustomerController.php.html#25\">App\\Http\\Controllers\\CustomerController<\/a>"],[100,5,"<a href=\"LoginController.php.html#11\">App\\Http\\Controllers\\LoginController<\/a>"],[100,20,"<a href=\"QuestionController.php.html#21\">App\\Http\\Controllers\\QuestionController<\/a>"],[100,14,"<a href=\"ServiceController.php.html#20\">App\\Http\\Controllers\\ServiceController<\/a>"],[100,5,"<a href=\"SingleOptinController.php.html#12\">App\\Http\\Controllers\\SingleOptinController<\/a>"],[100,12,"<a href=\"StatsController.php.html#19\">App\\Http\\Controllers\\StatsController<\/a>"]], 'Class Complexity'))
|
|
.transition()
|
|
.duration(500)
|
|
.call(chart);
|
|
|
|
nv.utils.windowResize(chart.update);
|
|
|
|
return chart;
|
|
});
|
|
|
|
nv.addGraph(function() {
|
|
var chart = nv.models.scatterChart()
|
|
.showDistX(true)
|
|
.showDistY(true)
|
|
.showLegend(false)
|
|
.forceX([0, 100]);
|
|
chart.tooltipContent(function(graph) {
|
|
return '<p>' + graph.point.class + '</p>';
|
|
});
|
|
|
|
chart.xAxis.axisLabel('Code Coverage (in percent)');
|
|
chart.yAxis.axisLabel('Method Complexity');
|
|
|
|
d3.select('#methodComplexity svg')
|
|
.datum(getComplexityData([[100,2,"<a href=\"AnswerController.php.html#25\">App\\Http\\Controllers\\AnswerController::index<\/a>"],[100,1,"<a href=\"AnswerController.php.html#57\">App\\Http\\Controllers\\AnswerController::create<\/a>"],[100,2,"<a href=\"AnswerController.php.html#74\">App\\Http\\Controllers\\AnswerController::store<\/a>"],[100,1,"<a href=\"AnswerController.php.html#103\">App\\Http\\Controllers\\AnswerController::edit<\/a>"],[100,2,"<a href=\"AnswerController.php.html#119\">App\\Http\\Controllers\\AnswerController::update<\/a>"],[100,2,"<a href=\"AnswerController.php.html#147\">App\\Http\\Controllers\\AnswerController::destroy<\/a>"],[100,10,"<a href=\"Api\/V1\/ArcadiaController.php.html#25\">App\\Http\\Controllers\\Api\\V1\\ArcadiaController::outgoingMail<\/a>"],[100,4,"<a href=\"Api\/V1\/ArcadiaController.php.html#92\">App\\Http\\Controllers\\Api\\V1\\ArcadiaController::checkShippingRequiredFields<\/a>"],[100,21,"<a href=\"Api\/V1\/ArcadiaController.php.html#122\">App\\Http\\Controllers\\Api\\V1\\ArcadiaController::checkRequiredFields<\/a>"],[100,22,"<a href=\"Api\/V1\/ArcadiaController.php.html#222\">App\\Http\\Controllers\\Api\\V1\\ArcadiaController::makeXml<\/a>"],[100,12,"<a href=\"Api\/V1\/CustomerController.php.html#30\">App\\Http\\Controllers\\Api\\V1\\CustomerController::store<\/a>"],[100,6,"<a href=\"Api\/V1\/CustomerController.php.html#133\">App\\Http\\Controllers\\Api\\V1\\CustomerController::show<\/a>"],[100,22,"<a href=\"Api\/V1\/CustomerController.php.html#168\">App\\Http\\Controllers\\Api\\V1\\CustomerController::update<\/a>"],[100,6,"<a href=\"Api\/V1\/CustomerController.php.html#282\">App\\Http\\Controllers\\Api\\V1\\CustomerController::authenticate<\/a>"],[100,5,"<a href=\"Api\/V1\/CustomerController.php.html#354\">App\\Http\\Controllers\\Api\\V1\\CustomerController::changePassword<\/a>"],[100,4,"<a href=\"Api\/V1\/CustomerController.php.html#398\">App\\Http\\Controllers\\Api\\V1\\CustomerController::activateAccount<\/a>"],[100,4,"<a href=\"Api\/V1\/CustomerController.php.html#431\">App\\Http\\Controllers\\Api\\V1\\CustomerController::delete<\/a>"],[100,4,"<a href=\"Api\/V1\/CustomerController.php.html#463\">App\\Http\\Controllers\\Api\\V1\\CustomerController::toggleOptin<\/a>"],[100,2,"<a href=\"Api\/V1\/CustomerController.php.html#500\">App\\Http\\Controllers\\Api\\V1\\CustomerController::removeOptin<\/a>"],[100,4,"<a href=\"Api\/V1\/CustomerController.php.html#534\">App\\Http\\Controllers\\Api\\V1\\CustomerController::addSingleOptin<\/a>"],[100,1,"<a href=\"Api\/V2\/AnswerController.php.html#22\">App\\Http\\Controllers\\Api\\V2\\AnswerController::storeCustomerAnswers<\/a>"],[100,1,"<a href=\"Api\/V2\/ApiController.php.html#15\">App\\Http\\Controllers\\Api\\V2\\ApiController::ping<\/a>"],[100,1,"<a href=\"Api\/V2\/ArcadiaController.php.html#37\">App\\Http\\Controllers\\Api\\V2\\ArcadiaController::outgoingMailDefault<\/a>"],[100,1,"<a href=\"Api\/V2\/ArcadiaController.php.html#48\">App\\Http\\Controllers\\Api\\V2\\ArcadiaController::outgoingMailGame<\/a>"],[100,4,"<a href=\"Api\/V2\/ArcadiaController.php.html#62\">App\\Http\\Controllers\\Api\\V2\\ArcadiaController::handleArcadiaMail<\/a>"],[100,2,"<a href=\"Api\/V2\/ArcadiaController.php.html#124\">App\\Http\\Controllers\\Api\\V2\\ArcadiaController::makeXml<\/a>"],[100,7,"<a href=\"Api\/V2\/CustomerController.php.html#34\">App\\Http\\Controllers\\Api\\V2\\CustomerController::store<\/a>"],[100,1,"<a href=\"Api\/V2\/CustomerController.php.html#90\">App\\Http\\Controllers\\Api\\V2\\CustomerController::show<\/a>"],[100,5,"<a href=\"Api\/V2\/CustomerController.php.html#107\">App\\Http\\Controllers\\Api\\V2\\CustomerController::update<\/a>"],[100,6,"<a href=\"Api\/V2\/CustomerController.php.html#148\">App\\Http\\Controllers\\Api\\V2\\CustomerController::destroy<\/a>"],[100,4,"<a href=\"Api\/V2\/CustomerController.php.html#202\">App\\Http\\Controllers\\Api\\V2\\CustomerController::authenticate<\/a>"],[100,3,"<a href=\"Api\/V2\/CustomerController.php.html#236\">App\\Http\\Controllers\\Api\\V2\\CustomerController::activateAccount<\/a>"],[100,4,"<a href=\"Api\/V2\/OptinController.php.html#27\">App\\Http\\Controllers\\Api\\V2\\OptinController::optin<\/a>"],[100,1,"<a href=\"Api\/V2\/QuestionController.php.html#22\">App\\Http\\Controllers\\Api\\V2\\QuestionController::index<\/a>"],[100,1,"<a href=\"Api\/V2\/QuestionController.php.html#34\">App\\Http\\Controllers\\Api\\V2\\QuestionController::indexWithResponse<\/a>"],[100,1,"<a href=\"Api\/V2\/QuestionController.php.html#50\">App\\Http\\Controllers\\Api\\V2\\QuestionController::unAnsweredBy<\/a>"],[100,1,"<a href=\"Api\/V2\/StatsController.php.html#27\">App\\Http\\Controllers\\Api\\V2\\StatsController::brandStats<\/a>"],[100,1,"<a href=\"Api\/V2\/StatsController.php.html#42\">App\\Http\\Controllers\\Api\\V2\\StatsController::questionStats<\/a>"],[100,3,"<a href=\"Api\/V2\/StatsController.php.html#65\">App\\Http\\Controllers\\Api\\V2\\StatsController::answersByDays<\/a>"],[100,2,"<a href=\"BrandController.php.html#25\">App\\Http\\Controllers\\BrandController::index<\/a>"],[100,1,"<a href=\"BrandController.php.html#57\">App\\Http\\Controllers\\BrandController::create<\/a>"],[100,2,"<a href=\"BrandController.php.html#70\">App\\Http\\Controllers\\BrandController::store<\/a>"],[100,1,"<a href=\"BrandController.php.html#98\">App\\Http\\Controllers\\BrandController::edit<\/a>"],[100,2,"<a href=\"BrandController.php.html#112\">App\\Http\\Controllers\\BrandController::update<\/a>"],[100,1,"<a href=\"BrandController.php.html#138\">App\\Http\\Controllers\\BrandController::jsonPaginate<\/a>"],[100,5,"<a href=\"Controller.php.html#34\">App\\Http\\Controllers\\Controller::searchQuery<\/a>"],[100,3,"<a href=\"Controller.php.html#68\">App\\Http\\Controllers\\Controller::searchOnFields<\/a>"],[100,11,"<a href=\"Controller.php.html#97\">App\\Http\\Controllers\\Controller::sortQuery<\/a>"],[100,13,"<a href=\"CustomerController.php.html#33\">App\\Http\\Controllers\\CustomerController::index<\/a>"],[100,1,"<a href=\"CustomerController.php.html#128\">App\\Http\\Controllers\\CustomerController::show<\/a>"],[100,8,"<a href=\"CustomerController.php.html#148\">App\\Http\\Controllers\\CustomerController::delete<\/a>"],[100,1,"<a href=\"CustomerController.php.html#198\">App\\Http\\Controllers\\CustomerController::export<\/a>"],[100,8,"<a href=\"CustomerController.php.html#213\">App\\Http\\Controllers\\CustomerController::exportSubmit<\/a>"],[100,1,"<a href=\"LoginController.php.html#18\">App\\Http\\Controllers\\LoginController::index<\/a>"],[100,3,"<a href=\"LoginController.php.html#29\">App\\Http\\Controllers\\LoginController::authenticate<\/a>"],[100,1,"<a href=\"LoginController.php.html#49\">App\\Http\\Controllers\\LoginController::logout<\/a>"],[100,3,"<a href=\"QuestionController.php.html#29\">App\\Http\\Controllers\\QuestionController::index<\/a>"],[100,1,"<a href=\"QuestionController.php.html#61\">App\\Http\\Controllers\\QuestionController::create<\/a>"],[100,2,"<a href=\"QuestionController.php.html#77\">App\\Http\\Controllers\\QuestionController::store<\/a>"],[100,1,"<a href=\"QuestionController.php.html#105\">App\\Http\\Controllers\\QuestionController::edit<\/a>"],[100,2,"<a href=\"QuestionController.php.html#122\">App\\Http\\Controllers\\QuestionController::update<\/a>"],[100,1,"<a href=\"QuestionController.php.html#149\">App\\Http\\Controllers\\QuestionController::show<\/a>"],[100,2,"<a href=\"QuestionController.php.html#162\">App\\Http\\Controllers\\QuestionController::destroy<\/a>"],[100,1,"<a href=\"QuestionController.php.html#183\">App\\Http\\Controllers\\QuestionController::export<\/a>"],[100,7,"<a href=\"QuestionController.php.html#195\">App\\Http\\Controllers\\QuestionController::exportSubmit<\/a>"],[100,3,"<a href=\"ServiceController.php.html#28\">App\\Http\\Controllers\\ServiceController::index<\/a>"],[100,1,"<a href=\"ServiceController.php.html#59\">App\\Http\\Controllers\\ServiceController::create<\/a>"],[100,2,"<a href=\"ServiceController.php.html#75\">App\\Http\\Controllers\\ServiceController::store<\/a>"],[100,1,"<a href=\"ServiceController.php.html#105\">App\\Http\\Controllers\\ServiceController::edit<\/a>"],[100,2,"<a href=\"ServiceController.php.html#122\">App\\Http\\Controllers\\ServiceController::update<\/a>"],[100,1,"<a href=\"ServiceController.php.html#149\">App\\Http\\Controllers\\ServiceController::show<\/a>"],[100,2,"<a href=\"ServiceController.php.html#162\">App\\Http\\Controllers\\ServiceController::destroy<\/a>"],[100,2,"<a href=\"ServiceController.php.html#186\">App\\Http\\Controllers\\ServiceController::generateServicePassword<\/a>"],[100,3,"<a href=\"SingleOptinController.php.html#20\">App\\Http\\Controllers\\SingleOptinController::index<\/a>"],[100,2,"<a href=\"SingleOptinController.php.html#52\">App\\Http\\Controllers\\SingleOptinController::destroy<\/a>"],[100,2,"<a href=\"StatsController.php.html#27\">App\\Http\\Controllers\\StatsController::viewStatsByBrand<\/a>"],[100,3,"<a href=\"StatsController.php.html#44\">App\\Http\\Controllers\\StatsController::exportByBrandCsv<\/a>"],[100,2,"<a href=\"StatsController.php.html#88\">App\\Http\\Controllers\\StatsController::viewByQuestion<\/a>"],[100,2,"<a href=\"StatsController.php.html#111\">App\\Http\\Controllers\\StatsController::exportByQuestionCsv<\/a>"],[100,3,"<a href=\"StatsController.php.html#155\">App\\Http\\Controllers\\StatsController::answersByDays<\/a>"]], 'Method Complexity'))
|
|
.transition()
|
|
.duration(500)
|
|
.call(chart);
|
|
|
|
nv.utils.windowResize(chart.update);
|
|
|
|
return chart;
|
|
});
|
|
|
|
function getComplexityData(data, label) {
|
|
var values = [];
|
|
$.each(data, function(key) {
|
|
var value = Math.round(data[key][0]*100) / 100;
|
|
values.push({
|
|
x: value,
|
|
y: data[key][1],
|
|
class: data[key][2],
|
|
size: 0.05,
|
|
shape: 'diamond'
|
|
});
|
|
});
|
|
|
|
return [
|
|
{
|
|
key: label,
|
|
values: values,
|
|
color: "#4572A7"
|
|
}
|
|
];
|
|
}
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|