2025-08-03 20:59:09 +02:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "UTF-8" >
< title > Code Coverage for /var/www/html/backend/app/Http/Controllers/Api/V1/BaseController.php< / title >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< link href = "../../../../_css/bootstrap.min.css?v=11.0.10" rel = "stylesheet" type = "text/css" >
< link href = "../../../../_css/octicons.css?v=11.0.10" rel = "stylesheet" type = "text/css" >
< link href = "../../../../_css/style.css?v=11.0.10" 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" > /var/www/html/backend/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" > < a href = "../index.html" > Api< / a > < / li >
< li class = "breadcrumb-item" > < a href = "index.html" > V1< / a > < / li >
< li class = "breadcrumb-item active" > BaseController.php< / li >
< / ol >
< / nav >
< / div >
< / div >
< / div >
< / header >
< div class = "container-fluid" >
< div class = "table-responsive" >
< table class = "table table-bordered" >
< thead >
< tr >
< td > < / td >
< td colspan = "10" > < div align = "center" > < strong > Code Coverage< / strong > < / div > < / td >
< / tr >
< tr >
< td > < / td >
< td colspan = "3" > < div align = "center" > < strong > Lines< / strong > < / div > < / td >
< td colspan = "4" > < div align = "center" > < strong > Functions and Methods< / strong > < / div > < / td >
< td colspan = "3" > < div align = "center" > < strong > Classes and Traits< / strong > < / div > < / td >
< / tr >
< / thead >
< tbody >
< tr >
2025-08-03 21:16:59 +02:00
< td class = "warning" > Total< / td >
< td class = "warning big" > < div class = "progress" >
< div class = "progress-bar bg-warning" role = "progressbar" aria-valuenow = "87.50" aria-valuemin = "0" aria-valuemax = "100" style = "width: 87.50%" >
< span class = "visually-hidden" > 87.50% covered (warning)< / span >
2025-08-03 20:59:09 +02:00
< / div >
< / div >
< / td >
2025-08-03 21:16:59 +02:00
< td class = "warning small" > < div align = "right" > 87.50%< / div > < / td >
< td class = "warning small" > < div align = "right" > 14 / 16< / div > < / td >
< td class = "warning big" > < div class = "progress" >
< div class = "progress-bar bg-warning" role = "progressbar" aria-valuenow = "60.00" aria-valuemin = "0" aria-valuemax = "100" style = "width: 60.00%" >
< span class = "visually-hidden" > 60.00% covered (warning)< / span >
2025-08-03 20:59:09 +02:00
< / div >
< / div >
< / td >
2025-08-03 21:16:59 +02:00
< td class = "warning small" > < div align = "right" > 60.00%< / div > < / td >
< td class = "warning small" > < div align = "right" > 3 / 5< / div > < / td >
< td class = "warning small" > < abbr title = "Change Risk Anti-Patterns (CRAP) Index" > CRAP< / abbr > < / td >
2025-08-03 20:59:09 +02:00
< td class = "danger big" > < div class = "progress" >
< div class = "progress-bar bg-danger" role = "progressbar" aria-valuenow = "0.00" aria-valuemin = "0" aria-valuemax = "100" style = "width: 0.00%" >
< span class = "visually-hidden" > 0.00% covered (danger)< / span >
< / div >
< / div >
< / td >
< td class = "danger small" > < div align = "right" > 0.00%< / div > < / td >
< td class = "danger small" > < div align = "right" > 0 / 1< / div > < / td >
< / tr >
< tr >
2025-08-03 21:16:59 +02:00
< td class = "warning" > < abbr title = "App\Http\Controllers\Api\V1\BaseController" > BaseController< / abbr > < / td >
< td class = "warning big" > < div class = "progress" >
< div class = "progress-bar bg-warning" role = "progressbar" aria-valuenow = "87.50" aria-valuemin = "0" aria-valuemax = "100" style = "width: 87.50%" >
< span class = "visually-hidden" > 87.50% covered (warning)< / span >
2025-08-03 20:59:09 +02:00
< / div >
< / div >
< / td >
2025-08-03 21:16:59 +02:00
< td class = "warning small" > < div align = "right" > 87.50%< / div > < / td >
< td class = "warning small" > < div align = "right" > 14 / 16< / div > < / td >
< td class = "warning big" > < div class = "progress" >
< div class = "progress-bar bg-warning" role = "progressbar" aria-valuenow = "60.00" aria-valuemin = "0" aria-valuemax = "100" style = "width: 60.00%" >
< span class = "visually-hidden" > 60.00% covered (warning)< / span >
2025-08-03 20:59:09 +02:00
< / div >
< / div >
< / td >
2025-08-03 21:16:59 +02:00
< td class = "warning small" > < div align = "right" > 60.00%< / div > < / td >
< td class = "warning small" > < div align = "right" > 3 / 5< / div > < / td >
< td class = "warning small" > 6.07< / td >
2025-08-03 20:59:09 +02:00
< td class = "danger big" > < div class = "progress" >
< div class = "progress-bar bg-danger" role = "progressbar" aria-valuenow = "0.00" aria-valuemin = "0" aria-valuemax = "100" style = "width: 0.00%" >
< span class = "visually-hidden" > 0.00% covered (danger)< / span >
< / div >
< / div >
< / td >
< td class = "danger small" > < div align = "right" > 0.00%< / div > < / td >
< td class = "danger small" > < div align = "right" > 0 / 1< / div > < / td >
< / tr >
< tr >
2025-08-03 21:16:59 +02:00
< td class = "success" > < a href = "#13" > < abbr title = "sendResponse(mixed $result, string $message, int $code): Illuminate\Http\JsonResponse" > sendResponse< / abbr > < / a > < / td >
< td class = "success big" > < div class = "progress" >
< div class = "progress-bar bg-success" role = "progressbar" aria-valuenow = "100.00" aria-valuemin = "0" aria-valuemax = "100" style = "width: 100.00%" >
< span class = "visually-hidden" > 100.00% covered (success)< / span >
2025-08-03 20:59:09 +02:00
< / div >
< / div >
< / td >
2025-08-03 21:16:59 +02:00
< td class = "success small" > < div align = "right" > 100.00%< / div > < / td >
< td class = "success small" > < div align = "right" > 6 / 6< / div > < / td >
< td class = "success big" > < div class = "progress" >
< div class = "progress-bar bg-success" role = "progressbar" aria-valuenow = "100.00" aria-valuemin = "0" aria-valuemax = "100" style = "width: 100.00%" >
< span class = "visually-hidden" > 100.00% covered (success)< / span >
2025-08-03 20:59:09 +02:00
< / div >
< / div >
< / td >
2025-08-03 21:16:59 +02:00
< td class = "success small" > < div align = "right" > 100.00%< / div > < / td >
< td class = "success small" > < div align = "right" > 1 / 1< / div > < / td >
< td class = "success small" > 1< / td >
< td class = "success" colspan = "3" > < / td >
2025-08-03 20:59:09 +02:00
< / tr >
< tr >
2025-08-03 21:16:59 +02:00
< td class = "success" > < a href = "#27" > < abbr title = "sendError(string $error, array $errorMessages, int $code): Illuminate\Http\JsonResponse" > sendError< / abbr > < / a > < / td >
< td class = "success big" > < div class = "progress" >
< div class = "progress-bar bg-success" role = "progressbar" aria-valuenow = "100.00" aria-valuemin = "0" aria-valuemax = "100" style = "width: 100.00%" >
< span class = "visually-hidden" > 100.00% covered (success)< / span >
2025-08-03 20:59:09 +02:00
< / div >
< / div >
< / td >
2025-08-03 21:16:59 +02:00
< td class = "success small" > < div align = "right" > 100.00%< / div > < / td >
< td class = "success small" > < div align = "right" > 7 / 7< / div > < / td >
< td class = "success big" > < div class = "progress" >
< div class = "progress-bar bg-success" role = "progressbar" aria-valuenow = "100.00" aria-valuemin = "0" aria-valuemax = "100" style = "width: 100.00%" >
< span class = "visually-hidden" > 100.00% covered (success)< / span >
2025-08-03 20:59:09 +02:00
< / div >
< / div >
< / td >
2025-08-03 21:16:59 +02:00
< td class = "success small" > < div align = "right" > 100.00%< / div > < / td >
< td class = "success small" > < div align = "right" > 1 / 1< / div > < / td >
< td class = "success small" > 2< / td >
< td class = "success" colspan = "3" > < / td >
2025-08-03 20:59:09 +02:00
< / tr >
< tr >
2025-08-03 21:16:59 +02:00
< td class = "success" > < a href = "#44" > < abbr title = "sendValidationError(array $errors): Illuminate\Http\JsonResponse" > sendValidationError< / abbr > < / a > < / td >
< td class = "success big" > < div class = "progress" >
< div class = "progress-bar bg-success" role = "progressbar" aria-valuenow = "100.00" aria-valuemin = "0" aria-valuemax = "100" style = "width: 100.00%" >
< span class = "visually-hidden" > 100.00% covered (success)< / span >
2025-08-03 20:59:09 +02:00
< / div >
< / div >
< / td >
2025-08-03 21:16:59 +02:00
< td class = "success small" > < div align = "right" > 100.00%< / div > < / td >
< td class = "success small" > < div align = "right" > 1 / 1< / div > < / td >
< td class = "success big" > < div class = "progress" >
< div class = "progress-bar bg-success" role = "progressbar" aria-valuenow = "100.00" aria-valuemin = "0" aria-valuemax = "100" style = "width: 100.00%" >
< span class = "visually-hidden" > 100.00% covered (success)< / span >
2025-08-03 20:59:09 +02:00
< / div >
< / div >
< / td >
2025-08-03 21:16:59 +02:00
< td class = "success small" > < div align = "right" > 100.00%< / div > < / td >
< td class = "success small" > < div align = "right" > 1 / 1< / div > < / td >
< td class = "success small" > 1< / td >
< td class = "success" colspan = "3" > < / td >
2025-08-03 20:59:09 +02:00
< / tr >
< tr >
< td class = "danger" > < a href = "#52" > < abbr title = "sendNotFound(string $message): Illuminate\Http\JsonResponse" > sendNotFound< / abbr > < / a > < / td >
< td class = "danger big" > < div class = "progress" >
< div class = "progress-bar bg-danger" role = "progressbar" aria-valuenow = "0.00" aria-valuemin = "0" aria-valuemax = "100" style = "width: 0.00%" >
< span class = "visually-hidden" > 0.00% covered (danger)< / span >
< / div >
< / div >
< / td >
< td class = "danger small" > < div align = "right" > 0.00%< / div > < / td >
< td class = "danger small" > < div align = "right" > 0 / 1< / div > < / td >
< td class = "danger big" > < div class = "progress" >
< div class = "progress-bar bg-danger" role = "progressbar" aria-valuenow = "0.00" aria-valuemin = "0" aria-valuemax = "100" style = "width: 0.00%" >
< span class = "visually-hidden" > 0.00% covered (danger)< / span >
< / div >
< / div >
< / td >
< td class = "danger small" > < div align = "right" > 0.00%< / div > < / td >
< td class = "danger small" > < div align = "right" > 0 / 1< / div > < / td >
< td class = "danger small" > 2< / td >
< td class = "danger" colspan = "3" > < / td >
< / tr >
< tr >
< td class = "danger" > < a href = "#60" > < abbr title = "sendUnauthorized(string $message): Illuminate\Http\JsonResponse" > sendUnauthorized< / abbr > < / a > < / td >
< td class = "danger big" > < div class = "progress" >
< div class = "progress-bar bg-danger" role = "progressbar" aria-valuenow = "0.00" aria-valuemin = "0" aria-valuemax = "100" style = "width: 0.00%" >
< span class = "visually-hidden" > 0.00% covered (danger)< / span >
< / div >
< / div >
< / td >
< td class = "danger small" > < div align = "right" > 0.00%< / div > < / td >
< td class = "danger small" > < div align = "right" > 0 / 1< / div > < / td >
< td class = "danger big" > < div class = "progress" >
< div class = "progress-bar bg-danger" role = "progressbar" aria-valuenow = "0.00" aria-valuemin = "0" aria-valuemax = "100" style = "width: 0.00%" >
< span class = "visually-hidden" > 0.00% covered (danger)< / span >
< / div >
< / div >
< / td >
< td class = "danger small" > < div align = "right" > 0.00%< / div > < / td >
< td class = "danger small" > < div align = "right" > 0 / 1< / div > < / td >
< td class = "danger small" > 2< / td >
< td class = "danger" colspan = "3" > < / td >
< / tr >
< / tbody >
< / table >
< / div >
< table id = "code" class = "table table-borderless table-condensed" >
< tbody >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "1" href = "#1" > 1< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < ?php< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "2" href = "#2" > 2< / a > < / td > < td class = "col-11 codeLine" > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "3" href = "#3" > 3< / a > < / td > < td class = "col-11 codeLine" > < span class = "keyword" > namespace< / span > < span class = "default" > < / span > < span class = "default" > App\Http\Controllers\Api\V1< / span > < span class = "keyword" > ;< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "4" href = "#4" > 4< / a > < / td > < td class = "col-11 codeLine" > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "5" href = "#5" > 5< / a > < / td > < td class = "col-11 codeLine" > < span class = "keyword" > use< / span > < span class = "default" > < / span > < span class = "default" > App\Http\Controllers\Controller< / span > < span class = "keyword" > ;< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "6" href = "#6" > 6< / a > < / td > < td class = "col-11 codeLine" > < span class = "keyword" > use< / span > < span class = "default" > < / span > < span class = "default" > Illuminate\Http\JsonResponse< / span > < span class = "keyword" > ;< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "7" href = "#7" > 7< / a > < / td > < td class = "col-11 codeLine" > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "8" href = "#8" > 8< / a > < / td > < td class = "col-11 codeLine" > < span class = "keyword" > class< / span > < span class = "default" > < / span > < span class = "default" > BaseController< / span > < span class = "default" > < / span > < span class = "keyword" > extends< / span > < span class = "default" > < / span > < span class = "default" > Controller< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "9" href = "#9" > 9< / a > < / td > < td class = "col-11 codeLine" > < span class = "keyword" > {< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "10" href = "#10" > 10< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "comment" > /**< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "11" href = "#11" > 11< / a > < / td > < td class = "col-11 codeLine" > < span class = "comment" > * Success response method< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "12" href = "#12" > 12< / a > < / td > < td class = "col-11 codeLine" > < span class = "comment" > */< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "13" href = "#13" > 13< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "keyword" > public< / span > < span class = "default" > < / span > < span class = "keyword" > function< / span > < span class = "default" > < / span > < span class = "default" > sendResponse< / span > < span class = "keyword" > (< / span > < span class = "default" > mixed< / span > < span class = "default" > < / span > < span class = "default" > $result< / span > < span class = "keyword" > ,< / span > < span class = "default" > < / span > < span class = "default" > string< / span > < span class = "default" > < / span > < span class = "default" > $message< / span > < span class = "default" > < / span > < span class = "keyword" > =< / span > < span class = "default" > < / span > < span class = "default" > 'Success'< / span > < span class = "keyword" > ,< / span > < span class = "default" > < / span > < span class = "default" > int< / span > < span class = "default" > < / span > < span class = "default" > $code< / span > < span class = "default" > < / span > < span class = "keyword" > =< / span > < span class = "default" > < / span > < span class = "default" > 200< / span > < span class = "keyword" > )< / span > < span class = "keyword" > :< / span > < span class = "default" > < / span > < span class = "default" > JsonResponse< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "14" href = "#14" > 14< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "keyword" > {< / span > < / td > < / tr >
2025-08-03 21:16:59 +02:00
< tr class = "covered-by-large-tests popin d-flex" > < td data-bs-title = "25 tests cover line 15" data-bs-content = "<ul><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_returns_successful_response</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_returns_articles_with_pagination</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_respects_per_page_limit</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_orders_articles_by_created_at_desc</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_approve_article_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_reject_article_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_includes_settings</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\DashboardControllerTest::test_stats_returns_successful_response</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\DashboardControllerTest::test_stats_with_different_periods</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\DashboardControllerTest::test_stats_with_sample_data</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\DashboardControllerTest::test_stats_returns_empty_data_with_no_records</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_index_returns_successful_response</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_index_returns_feeds_ordered_by_active_status_then_name</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_store_creates_feed_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_store_sets_default_active_status</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_show_returns_feed_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_update_modifies_feed_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_update_preserves_active_status_when_not_provided</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_destroy_deletes_feed_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_toggle_activates_inactive_feed</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_toggle_deactivates_active_feed</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\SettingsControllerTest::test_index_returns_current_settings</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\SettingsControllerTest::test_update_modifies_article_processing_setting</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\SettingsControllerTest::test_update_modifies_publishing_approvals_setting</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\Se
< tr class = "covered-by-large-tests popin d-flex" > < td data-bs-title = "25 tests cover line 16" data-bs-content = "<ul><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_returns_successful_response</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_returns_articles_with_pagination</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_respects_per_page_limit</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_orders_articles_by_created_at_desc</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_approve_article_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_reject_article_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_includes_settings</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\DashboardControllerTest::test_stats_returns_successful_response</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\DashboardControllerTest::test_stats_with_different_periods</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\DashboardControllerTest::test_stats_with_sample_data</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\DashboardControllerTest::test_stats_returns_empty_data_with_no_records</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_index_returns_successful_response</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_index_returns_feeds_ordered_by_active_status_then_name</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_store_creates_feed_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_store_sets_default_active_status</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_show_returns_feed_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_update_modifies_feed_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_update_preserves_active_status_when_not_provided</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_destroy_deletes_feed_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_toggle_activates_inactive_feed</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_toggle_deactivates_active_feed</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\SettingsControllerTest::test_index_returns_current_settings</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\SettingsControllerTest::test_update_modifies_article_processing_setting</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\SettingsControllerTest::test_update_modifies_publishing_approvals_setting</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\Se
< tr class = "covered-by-large-tests popin d-flex" > < td data-bs-title = "25 tests cover line 17" data-bs-content = "<ul><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_returns_successful_response</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_returns_articles_with_pagination</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_respects_per_page_limit</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_orders_articles_by_created_at_desc</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_approve_article_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_reject_article_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_includes_settings</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\DashboardControllerTest::test_stats_returns_successful_response</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\DashboardControllerTest::test_stats_with_different_periods</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\DashboardControllerTest::test_stats_with_sample_data</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\DashboardControllerTest::test_stats_returns_empty_data_with_no_records</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_index_returns_successful_response</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_index_returns_feeds_ordered_by_active_status_then_name</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_store_creates_feed_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_store_sets_default_active_status</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_show_returns_feed_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_update_modifies_feed_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_update_preserves_active_status_when_not_provided</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_destroy_deletes_feed_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_toggle_activates_inactive_feed</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_toggle_deactivates_active_feed</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\SettingsControllerTest::test_index_returns_current_settings</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\SettingsControllerTest::test_update_modifies_article_processing_setting</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\SettingsControllerTest::test_update_modifies_publishing_approvals_setting</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\Se
< tr class = "covered-by-large-tests popin d-flex" > < td data-bs-title = "25 tests cover line 18" data-bs-content = "<ul><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_returns_successful_response</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_returns_articles_with_pagination</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_respects_per_page_limit</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_orders_articles_by_created_at_desc</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_approve_article_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_reject_article_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_includes_settings</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\DashboardControllerTest::test_stats_returns_successful_response</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\DashboardControllerTest::test_stats_with_different_periods</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\DashboardControllerTest::test_stats_with_sample_data</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\DashboardControllerTest::test_stats_returns_empty_data_with_no_records</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_index_returns_successful_response</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_index_returns_feeds_ordered_by_active_status_then_name</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_store_creates_feed_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_store_sets_default_active_status</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_show_returns_feed_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_update_modifies_feed_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_update_preserves_active_status_when_not_provided</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_destroy_deletes_feed_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_toggle_activates_inactive_feed</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_toggle_deactivates_active_feed</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\SettingsControllerTest::test_index_returns_current_settings</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\SettingsControllerTest::test_update_modifies_article_processing_setting</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\SettingsControllerTest::test_update_modifies_publishing_approvals_setting</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\Se
< tr class = "covered-by-large-tests popin d-flex" > < td data-bs-title = "25 tests cover line 19" data-bs-content = "<ul><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_returns_successful_response</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_returns_articles_with_pagination</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_respects_per_page_limit</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_orders_articles_by_created_at_desc</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_approve_article_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_reject_article_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_includes_settings</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\DashboardControllerTest::test_stats_returns_successful_response</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\DashboardControllerTest::test_stats_with_different_periods</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\DashboardControllerTest::test_stats_with_sample_data</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\DashboardControllerTest::test_stats_returns_empty_data_with_no_records</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_index_returns_successful_response</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_index_returns_feeds_ordered_by_active_status_then_name</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_store_creates_feed_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_store_sets_default_active_status</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_show_returns_feed_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_update_modifies_feed_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_update_preserves_active_status_when_not_provided</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_destroy_deletes_feed_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_toggle_activates_inactive_feed</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_toggle_deactivates_active_feed</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\SettingsControllerTest::test_index_returns_current_settings</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\SettingsControllerTest::test_update_modifies_article_processing_setting</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\SettingsControllerTest::test_update_modifies_publishing_approvals_setting</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\Se
2025-08-03 20:59:09 +02:00
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "20" href = "#20" > 20< / a > < / td > < td class = "col-11 codeLine" > < / td > < / tr >
2025-08-03 21:16:59 +02:00
< tr class = "covered-by-large-tests popin d-flex" > < td data-bs-title = "25 tests cover line 21" data-bs-content = "<ul><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_returns_successful_response</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_returns_articles_with_pagination</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_respects_per_page_limit</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_orders_articles_by_created_at_desc</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_approve_article_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_reject_article_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\ArticlesControllerTest::test_index_includes_settings</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\DashboardControllerTest::test_stats_returns_successful_response</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\DashboardControllerTest::test_stats_with_different_periods</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\DashboardControllerTest::test_stats_with_sample_data</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\DashboardControllerTest::test_stats_returns_empty_data_with_no_records</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_index_returns_successful_response</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_index_returns_feeds_ordered_by_active_status_then_name</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_store_creates_feed_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_store_sets_default_active_status</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_show_returns_feed_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_update_modifies_feed_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_update_preserves_active_status_when_not_provided</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_destroy_deletes_feed_successfully</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_toggle_activates_inactive_feed</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\FeedsControllerTest::test_toggle_deactivates_active_feed</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\SettingsControllerTest::test_index_returns_current_settings</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\SettingsControllerTest::test_update_modifies_article_processing_setting</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\SettingsControllerTest::test_update_modifies_publishing_approvals_setting</li><li class = "covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\Se
2025-08-03 20:59:09 +02:00
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "22" href = "#22" > 22< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "keyword" > }< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "23" href = "#23" > 23< / a > < / td > < td class = "col-11 codeLine" > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "24" href = "#24" > 24< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "comment" > /**< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "25" href = "#25" > 25< / a > < / td > < td class = "col-11 codeLine" > < span class = "comment" > * Error response method< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "26" href = "#26" > 26< / a > < / td > < td class = "col-11 codeLine" > < span class = "comment" > */< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "27" href = "#27" > 27< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "keyword" > public< / span > < span class = "default" > < / span > < span class = "keyword" > function< / span > < span class = "default" > < / span > < span class = "default" > sendError< / span > < span class = "keyword" > (< / span > < span class = "default" > string< / span > < span class = "default" > < / span > < span class = "default" > $error< / span > < span class = "keyword" > ,< / span > < span class = "default" > < / span > < span class = "keyword" > array< / span > < span class = "default" > < / span > < span class = "default" > $errorMessages< / span > < span class = "default" > < / span > < span class = "keyword" > =< / span > < span class = "default" > < / span > < span class = "keyword" > [< / span > < span class = "keyword" > ]< / span > < span class = "keyword" > ,< / span > < span class = "default" > < / span > < span class = "default" > int< / span > < span class = "default" > < / span > < span class = "default" > $code< / span > < span class = "default" > < / span > < span class = "keyword" > =< / span > < span class = "default" > < / span > < span class = "default" > 400< / span > < span class = "keyword" > )< / span > < span class = "keyword" > :< / span > < span class = "default" > < / span > < span class = "default" > JsonResponse< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "28" href = "#28" > 28< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "keyword" > {< / span > < / td > < / tr >
2025-08-03 21:16:59 +02:00
< tr class = "covered-by-large-tests popin d-flex" > < td data-bs-title = "1 test covers line 29" data-bs-content = "<ul><li class="covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\SettingsControllerTest::test_update_validates_boolean_values</li></ul>" data-bs-placement = "top" data-bs-html = "true" class = "col-1 text-end" > < a id = "29" href = "#29" > 29< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "default" > $response< / span > < span class = "default" > < / span > < span class = "keyword" > =< / span > < span class = "default" > < / span > < span class = "keyword" > [< / span > < / td > < / tr >
< tr class = "covered-by-large-tests popin d-flex" > < td data-bs-title = "1 test covers line 30" data-bs-content = "<ul><li class="covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\SettingsControllerTest::test_update_validates_boolean_values</li></ul>" data-bs-placement = "top" data-bs-html = "true" class = "col-1 text-end" > < a id = "30" href = "#30" > 30< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "default" > 'success'< / span > < span class = "default" > < / span > < span class = "default" > => < / span > < span class = "default" > < / span > < span class = "default" > false< / span > < span class = "keyword" > ,< / span > < / td > < / tr >
< tr class = "covered-by-large-tests popin d-flex" > < td data-bs-title = "1 test covers line 31" data-bs-content = "<ul><li class="covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\SettingsControllerTest::test_update_validates_boolean_values</li></ul>" data-bs-placement = "top" data-bs-html = "true" class = "col-1 text-end" > < a id = "31" href = "#31" > 31< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "default" > 'message'< / span > < span class = "default" > < / span > < span class = "default" > => < / span > < span class = "default" > < / span > < span class = "default" > $error< / span > < span class = "keyword" > ,< / span > < / td > < / tr >
< tr class = "covered-by-large-tests popin d-flex" > < td data-bs-title = "1 test covers line 32" data-bs-content = "<ul><li class="covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\SettingsControllerTest::test_update_validates_boolean_values</li></ul>" data-bs-placement = "top" data-bs-html = "true" class = "col-1 text-end" > < a id = "32" href = "#32" > 32< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "keyword" > ]< / span > < span class = "keyword" > ;< / span > < / td > < / tr >
2025-08-03 20:59:09 +02:00
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "33" href = "#33" > 33< / a > < / td > < td class = "col-11 codeLine" > < / td > < / tr >
2025-08-03 21:16:59 +02:00
< tr class = "covered-by-large-tests popin d-flex" > < td data-bs-title = "1 test covers line 34" data-bs-content = "<ul><li class="covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\SettingsControllerTest::test_update_validates_boolean_values</li></ul>" data-bs-placement = "top" data-bs-html = "true" class = "col-1 text-end" > < a id = "34" href = "#34" > 34< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "keyword" > if< / span > < span class = "default" > < / span > < span class = "keyword" > (< / span > < span class = "keyword" > !< / span > < span class = "keyword" > empty< / span > < span class = "keyword" > (< / span > < span class = "default" > $errorMessages< / span > < span class = "keyword" > )< / span > < span class = "keyword" > )< / span > < span class = "default" > < / span > < span class = "keyword" > {< / span > < / td > < / tr >
< tr class = "covered-by-large-tests popin d-flex" > < td data-bs-title = "1 test covers line 35" data-bs-content = "<ul><li class="covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\SettingsControllerTest::test_update_validates_boolean_values</li></ul>" data-bs-placement = "top" data-bs-html = "true" class = "col-1 text-end" > < a id = "35" href = "#35" > 35< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "default" > $response< / span > < span class = "keyword" > [< / span > < span class = "default" > 'errors'< / span > < span class = "keyword" > ]< / span > < span class = "default" > < / span > < span class = "keyword" > =< / span > < span class = "default" > < / span > < span class = "default" > $errorMessages< / span > < span class = "keyword" > ;< / span > < / td > < / tr >
2025-08-03 20:59:09 +02:00
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "36" href = "#36" > 36< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "keyword" > }< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "37" href = "#37" > 37< / a > < / td > < td class = "col-11 codeLine" > < / td > < / tr >
2025-08-03 21:16:59 +02:00
< tr class = "covered-by-large-tests popin d-flex" > < td data-bs-title = "1 test covers line 38" data-bs-content = "<ul><li class="covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\SettingsControllerTest::test_update_validates_boolean_values</li></ul>" data-bs-placement = "top" data-bs-html = "true" class = "col-1 text-end" > < a id = "38" href = "#38" > 38< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "keyword" > return< / span > < span class = "default" > < / span > < span class = "default" > response< / span > < span class = "keyword" > (< / span > < span class = "keyword" > )< / span > < span class = "default" > -> < / span > < span class = "default" > json< / span > < span class = "keyword" > (< / span > < span class = "default" > $response< / span > < span class = "keyword" > ,< / span > < span class = "default" > < / span > < span class = "default" > $code< / span > < span class = "keyword" > )< / span > < span class = "keyword" > ;< / span > < / td > < / tr >
2025-08-03 20:59:09 +02:00
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "39" href = "#39" > 39< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "keyword" > }< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "40" href = "#40" > 40< / a > < / td > < td class = "col-11 codeLine" > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "41" href = "#41" > 41< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "comment" > /**< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "42" href = "#42" > 42< / a > < / td > < td class = "col-11 codeLine" > < span class = "comment" > * Validation error response method< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "43" href = "#43" > 43< / a > < / td > < td class = "col-11 codeLine" > < span class = "comment" > */< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "44" href = "#44" > 44< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "keyword" > public< / span > < span class = "default" > < / span > < span class = "keyword" > function< / span > < span class = "default" > < / span > < span class = "default" > sendValidationError< / span > < span class = "keyword" > (< / span > < span class = "keyword" > array< / span > < span class = "default" > < / span > < span class = "default" > $errors< / span > < span class = "keyword" > )< / span > < span class = "keyword" > :< / span > < span class = "default" > < / span > < span class = "default" > JsonResponse< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "45" href = "#45" > 45< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "keyword" > {< / span > < / td > < / tr >
2025-08-03 21:16:59 +02:00
< tr class = "covered-by-large-tests popin d-flex" > < td data-bs-title = "1 test covers line 46" data-bs-content = "<ul><li class="covered-by-large-tests">Tests\Feature\Http\Controllers\Api\V1\SettingsControllerTest::test_update_validates_boolean_values</li></ul>" data-bs-placement = "top" data-bs-html = "true" class = "col-1 text-end" > < a id = "46" href = "#46" > 46< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "keyword" > return< / span > < span class = "default" > < / span > < span class = "default" > $this< / span > < span class = "default" > -> < / span > < span class = "default" > sendError< / span > < span class = "keyword" > (< / span > < span class = "default" > 'Validation failed'< / span > < span class = "keyword" > ,< / span > < span class = "default" > < / span > < span class = "default" > $errors< / span > < span class = "keyword" > ,< / span > < span class = "default" > < / span > < span class = "default" > 422< / span > < span class = "keyword" > )< / span > < span class = "keyword" > ;< / span > < / td > < / tr >
2025-08-03 20:59:09 +02:00
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "47" href = "#47" > 47< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "keyword" > }< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "48" href = "#48" > 48< / a > < / td > < td class = "col-11 codeLine" > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "49" href = "#49" > 49< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "comment" > /**< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "50" href = "#50" > 50< / a > < / td > < td class = "col-11 codeLine" > < span class = "comment" > * Not found response method< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "51" href = "#51" > 51< / a > < / td > < td class = "col-11 codeLine" > < span class = "comment" > */< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "52" href = "#52" > 52< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "keyword" > public< / span > < span class = "default" > < / span > < span class = "keyword" > function< / span > < span class = "default" > < / span > < span class = "default" > sendNotFound< / span > < span class = "keyword" > (< / span > < span class = "default" > string< / span > < span class = "default" > < / span > < span class = "default" > $message< / span > < span class = "default" > < / span > < span class = "keyword" > =< / span > < span class = "default" > < / span > < span class = "default" > 'Resource not found'< / span > < span class = "keyword" > )< / span > < span class = "keyword" > :< / span > < span class = "default" > < / span > < span class = "default" > JsonResponse< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "53" href = "#53" > 53< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "keyword" > {< / span > < / td > < / tr >
< tr class = "danger d-flex" > < td class = "col-1 text-end" > < a id = "54" href = "#54" > 54< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "keyword" > return< / span > < span class = "default" > < / span > < span class = "default" > $this< / span > < span class = "default" > -> < / span > < span class = "default" > sendError< / span > < span class = "keyword" > (< / span > < span class = "default" > $message< / span > < span class = "keyword" > ,< / span > < span class = "default" > < / span > < span class = "keyword" > [< / span > < span class = "keyword" > ]< / span > < span class = "keyword" > ,< / span > < span class = "default" > < / span > < span class = "default" > 404< / span > < span class = "keyword" > )< / span > < span class = "keyword" > ;< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "55" href = "#55" > 55< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "keyword" > }< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "56" href = "#56" > 56< / a > < / td > < td class = "col-11 codeLine" > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "57" href = "#57" > 57< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "comment" > /**< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "58" href = "#58" > 58< / a > < / td > < td class = "col-11 codeLine" > < span class = "comment" > * Unauthorized response method< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "59" href = "#59" > 59< / a > < / td > < td class = "col-11 codeLine" > < span class = "comment" > */< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "60" href = "#60" > 60< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "keyword" > public< / span > < span class = "default" > < / span > < span class = "keyword" > function< / span > < span class = "default" > < / span > < span class = "default" > sendUnauthorized< / span > < span class = "keyword" > (< / span > < span class = "default" > string< / span > < span class = "default" > < / span > < span class = "default" > $message< / span > < span class = "default" > < / span > < span class = "keyword" > =< / span > < span class = "default" > < / span > < span class = "default" > 'Unauthorized'< / span > < span class = "keyword" > )< / span > < span class = "keyword" > :< / span > < span class = "default" > < / span > < span class = "default" > JsonResponse< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "61" href = "#61" > 61< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "keyword" > {< / span > < / td > < / tr >
< tr class = "danger d-flex" > < td class = "col-1 text-end" > < a id = "62" href = "#62" > 62< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "keyword" > return< / span > < span class = "default" > < / span > < span class = "default" > $this< / span > < span class = "default" > -> < / span > < span class = "default" > sendError< / span > < span class = "keyword" > (< / span > < span class = "default" > $message< / span > < span class = "keyword" > ,< / span > < span class = "default" > < / span > < span class = "keyword" > [< / span > < span class = "keyword" > ]< / span > < span class = "keyword" > ,< / span > < span class = "default" > < / span > < span class = "default" > 401< / span > < span class = "keyword" > )< / span > < span class = "keyword" > ;< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "63" href = "#63" > 63< / a > < / td > < td class = "col-11 codeLine" > < span class = "default" > < / span > < span class = "keyword" > }< / span > < / td > < / tr >
< tr class = " d-flex" > < td class = "col-1 text-end" > < a id = "64" href = "#64" > 64< / a > < / td > < td class = "col-11 codeLine" > < span class = "keyword" > }< / span > < / td > < / tr >
< / tbody >
< / table >
< footer >
< hr / >
< h4 > Legend< / h4 >
< p > < span class = "legend covered-by-small-tests" > Covered by small (and larger) tests< / span > < span class = "legend covered-by-medium-tests" > Covered by medium (and large) tests< / span > < span class = "legend covered-by-large-tests" > Covered by large tests (and tests of unknown size)< / span > < span class = "legend not-covered" > Not covered< / span > < span class = "legend not-coverable" > Not coverable< / span > < / p >
< p >
2025-08-03 21:16:59 +02:00
< small > Generated by < a href = "https://github.com/sebastianbergmann/php-code-coverage" target = "_top" > php-code-coverage 11.0.10< / a > using < a href = "https://www.php.net/" target = "_top" > PHP 8.4.10< / a > and < a href = "https://phpunit.de/" > PHPUnit 11.5.28< / a > at Sun Aug 3 19:15:34 UTC 2025.< / small >
2025-08-03 20:59:09 +02:00
< / p >
< a title = "Back to the top" id = "toplink" href = "#" >
< svg xmlns = "http://www.w3.org/2000/svg" width = "12" height = "16" viewBox = "0 0 12 16" > < path fill-rule = "evenodd" d = "M12 11L6 5l-6 6h12z" / > < / svg >
< / a >
< / footer >
< / div >
< script src = "../../../../_js/jquery.min.js?v=11.0.10" type = "text/javascript" > < / script >
< script src = "../../../../_js/bootstrap.bundle.min.js?v=11.0.10" type = "text/javascript" > < / script >
< script src = "../../../../_js/file.js?v=11.0.10" type = "text/javascript" > < / script >
< / body >
< / html >