f2ac3f4c7f
Приёмка владельца на боевом, два замечания из трёх (третье — про рекламный кошелёк и заморозку — отложено, кусок большой). 1. Подсказка «?» у поля медиа обещала «600 ₽ за тысячу с картинкой, 680 ₽ с видео». Клиент платит 1008 и 1142,40 ₽. Числа были вбиты в текст руками и протухли в ту минуту, когда миграция client_tg_cena_po_media поменяла тариф. Лечение в корень, а не подстановкой верных чисел: цену называет тот, кто её считает. Ручка оценки отдаёт ceny_za_tysyachu по каждому виду медиа (себестоимость × наценка), подсказка собирается из них функцией podskazkaProMedia. Пока сервер не ответил — текст без единой цифры: подставить «примерные» числа значило бы вернуть ровно эту беду. Прайс держим отдельно от охвата: охват на ошибке гасим (устаревший хуже никакого), а цены от настроек аудитории не зависят — иначе подсказка мигала бы на каждой опечатке в поле. 2. Замечание дословно: «нету скачать файл с примером как надо заполнить для нас файл». Кнопка «Скачать образец» рядом с полем загрузки — подпись клиент читает уже ПОСЛЕ того, как файл отклонили. Пять строк, написания разные (с плюсом, с восьмёркой, со скобками), номера синтетические 7999. Заголовка-строки в образце намеренно нет: разборщик нормализует первый столбец КАЖДОЙ строки, и слово «Телефон» попало бы в «не похоже на номер» — наш собственный образец показал бы клиенту ошибку. Проверено вырезанием, а не только зелёным: - вернул в подсказку вбитые 600/680 — покраснели 4 датчика, включая тот, что прямо запрещает эти два числа; - вставил в образец строку-заголовок — покраснели 3. Полный прогон поймал две мои же поломки, обе настоящие: - значок mdi-file-download-outline на новой кнопке ОТСУТСТВОВАЛ в карте Lucide — на экране стал бы вопросом в кружке. Поймал сторож значков, у которого вчера опустошили список поблажек. Добавлен (Download — точного «файла со стрелкой» в Lucide нет); - датчик подсказок ждал PODSKAZKI.media строкой, а её больше нет. Замеры: экраны 245 файлов / 1870 тестов / 0 падений; телеграм-модуль 327 / 0; статанализ 0; формат чисто; типы 6 — все в чужих файлах, столько же было до; сборка 3,80 с. Счётчик в phpstan-baseline сдвинут 13→15 (новые тесты на Pest), diff проверен глазами: изменилась ровно эта строка. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2265 lines
66 KiB
Plaintext
2265 lines
66 KiB
Plaintext
parameters:
|
|
ignoreErrors:
|
|
-
|
|
message: '#^Strict comparison using \!\=\= between '''' and '''' will always evaluate to false\.$#'
|
|
identifier: notIdentical.alwaysFalse
|
|
count: 1
|
|
path: app/Console/Commands/AuditRebuildChain.php
|
|
|
|
-
|
|
message: '#^Strict comparison using \=\=\= between '''' and ''PARTITION BY tenant…'' will always evaluate to false\.$#'
|
|
identifier: identical.alwaysFalse
|
|
count: 1
|
|
path: app/Console/Commands/AuditRebuildChain.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$array \(non\-empty\-list\<string\>\) of array_values is already a list, call has no effect\.$#'
|
|
identifier: arrayValues.list
|
|
count: 1
|
|
path: app/Console/Commands/PhoneRangesImportCommand.php
|
|
|
|
-
|
|
message: '#^Strict comparison using \=\=\= between int and null will always evaluate to false\.$#'
|
|
identifier: identical.alwaysFalse
|
|
count: 1
|
|
path: app/Http/Controllers/Api/AdminPaymentGatewayController.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Models\\Tenant\:\:\$tariff_name\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Controllers/Api/AdminTenantsController.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Models\\Tenant\:\:\$tariff_price_monthly\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Controllers/Api/AdminTenantsController.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$callback of method Illuminate\\Database\\Eloquent\\Collection\<int,App\\Models\\Tenant\>\:\:map\(\) contains unresolvable type\.$#'
|
|
identifier: argument.unresolvableType
|
|
count: 1
|
|
path: app/Http/Controllers/Api/AdminTenantsController.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$column of method Illuminate\\Database\\Eloquent\\Builder\<App\\Models\\Tenant\>\:\:orWhere\(\) expects array\<int\|model property of App\\Models\\Tenant, mixed\>\|\(Closure\(Illuminate\\Database\\Eloquent\\Builder\<App\\Models\\Tenant\>\)\: Illuminate\\Database\\Eloquent\\Builder\<App\\Models\\Tenant\>\)\|\(Closure\(Illuminate\\Database\\Eloquent\\Builder\<App\\Models\\Tenant\>\)\: void\)\|Illuminate\\Contracts\\Database\\Query\\Expression\|model property of App\\Models\\Tenant, ''tenants\.contact…'' given\.$#'
|
|
identifier: argument.type
|
|
count: 1
|
|
path: app/Http/Controllers/Api/AdminTenantsController.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$column of method Illuminate\\Database\\Eloquent\\Builder\<App\\Models\\Tenant\>\:\:orWhere\(\) expects array\<int\|model property of App\\Models\\Tenant, mixed\>\|\(Closure\(Illuminate\\Database\\Eloquent\\Builder\<App\\Models\\Tenant\>\)\: Illuminate\\Database\\Eloquent\\Builder\<App\\Models\\Tenant\>\)\|\(Closure\(Illuminate\\Database\\Eloquent\\Builder\<App\\Models\\Tenant\>\)\: void\)\|Illuminate\\Contracts\\Database\\Query\\Expression\|model property of App\\Models\\Tenant, ''tenants\.subdomain'' given\.$#'
|
|
identifier: argument.type
|
|
count: 1
|
|
path: app/Http/Controllers/Api/AdminTenantsController.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$column of method Illuminate\\Database\\Eloquent\\Builder\<App\\Models\\Tenant\>\:\:where\(\) expects array\<int\|model property of App\\Models\\Tenant, mixed\>\|\(Closure\(Illuminate\\Database\\Eloquent\\Builder\<App\\Models\\Tenant\>\)\: Illuminate\\Database\\Eloquent\\Builder\<App\\Models\\Tenant\>\)\|\(Closure\(Illuminate\\Database\\Eloquent\\Builder\<App\\Models\\Tenant\>\)\: void\)\|Illuminate\\Contracts\\Database\\Query\\Expression\|model property of App\\Models\\Tenant, ''tenants\.status'' given\.$#'
|
|
identifier: argument.type
|
|
count: 1
|
|
path: app/Http/Controllers/Api/AdminTenantsController.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$column of method Illuminate\\Database\\Eloquent\\Builder\<App\\Models\\Tenant\>\:\:where\(\) expects array\<int\|model property of App\\Models\\Tenant, mixed\>\|\(Closure\(Illuminate\\Database\\Eloquent\\Builder\<App\\Models\\Tenant\>\)\: Illuminate\\Database\\Eloquent\\Builder\<App\\Models\\Tenant\>\)\|\(Closure\(Illuminate\\Database\\Eloquent\\Builder\<App\\Models\\Tenant\>\)\: void\)\|Illuminate\\Contracts\\Database\\Query\\Expression\|model property of App\\Models\\Tenant, ''tenants…'' given\.$#'
|
|
identifier: argument.type
|
|
count: 1
|
|
path: app/Http/Controllers/Api/AdminTenantsController.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Models\\Project\:\:\$gate_payload\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Controllers/Api/AutopodborController.php
|
|
|
|
-
|
|
message: '#^Anonymous function should return non\-empty\-array but returns non\-empty\-array\.$#'
|
|
identifier: return.type
|
|
count: 1
|
|
path: app/Http/Controllers/Api/AutopodborController.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$array \(list\<array\{reason\: string, competitors\: list\<array\{id\: int, name\: string\|null, box\: string\|null, site_url\: string\|null, directory_urls\: array\<mixed\>, survivor\: bool\}\>\}\>\) of array_values is already a list, call has no effect\.$#'
|
|
identifier: arrayValues.list
|
|
count: 1
|
|
path: app/Http/Controllers/Api/AutopodborController.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$callback of method Illuminate\\Database\\Eloquent\\Collection\<int,App\\Models\\AutopodborCompetitor\>\:\:map\(\) expects callable\(App\\Models\\AutopodborCompetitor, int\)\: non\-empty\-array, Closure\(App\\Models\\AutopodborCompetitor\)\: non\-empty\-array given\.$#'
|
|
identifier: argument.type
|
|
count: 1
|
|
path: app/Http/Controllers/Api/AutopodborController.php
|
|
|
|
-
|
|
message: '#^Using nullsafe method call on non\-nullable type Illuminate\\Support\\Carbon\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Http/Controllers/Api/AutopodborController.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>directory_urls" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Http/Controllers/Api/AutopodborController.php
|
|
|
|
-
|
|
message: '#^Using nullsafe method call on non\-nullable type Illuminate\\Support\\Carbon\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Http/Controllers/Api/ChatController.php
|
|
|
|
-
|
|
message: '#^Using nullsafe method call on non\-nullable type Illuminate\\Support\\Carbon\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 6
|
|
path: app/Http/Controllers/Api/DealController.php
|
|
|
|
-
|
|
message: '#^Expression on left side of \?\? is not nullable\.$#'
|
|
identifier: nullCoalesce.expr
|
|
count: 1
|
|
path: app/Http/Controllers/Api/DealExportController.php
|
|
|
|
-
|
|
message: '#^Using nullsafe method call on non\-nullable type Illuminate\\Support\\Carbon\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Http/Controllers/Api/DealExportController.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Models\\Project\:\:\$gate_payload\.$#'
|
|
identifier: property.notFound
|
|
count: 2
|
|
path: app/Http/Controllers/Api/ProjectController.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Models\\Project\:\:\$launch_deferred\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Controllers/Api/ProjectController.php
|
|
|
|
-
|
|
message: '#^Strict comparison using \!\=\= between int and null will always evaluate to true\.$#'
|
|
identifier: notIdentical.alwaysTrue
|
|
count: 1
|
|
path: app/Http/Middleware/SetTenantContext.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\CompetitorResource\:\:\$box\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/CompetitorResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\CompetitorResource\:\:\$description\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/CompetitorResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\CompetitorResource\:\:\$directory_urls\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/CompetitorResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\CompetitorResource\:\:\$id\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/CompetitorResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\CompetitorResource\:\:\$is_federal\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/CompetitorResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\CompetitorResource\:\:\$name\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/CompetitorResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\CompetitorResource\:\:\$origin\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/CompetitorResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\CompetitorResource\:\:\$relevance_pct\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/CompetitorResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\CompetitorResource\:\:\$search_run_id\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/CompetitorResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\CompetitorResource\:\:\$site_url\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/CompetitorResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\CompetitorResource\:\:\$studied_at\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/CompetitorResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\CompetitorResource\:\:\$study_run_id\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/CompetitorResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\RunResource\:\:\$competitor_id\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/RunResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\RunResource\:\:\$created_at\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/RunResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\RunResource\:\:\$error_code\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/RunResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\RunResource\:\:\$finished_at\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/RunResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\RunResource\:\:\$id\.$#'
|
|
identifier: property.notFound
|
|
count: 3
|
|
path: app/Http/Resources/Autopodbor/RunResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\RunResource\:\:\$kind\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/RunResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\RunResource\:\:\$params\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/RunResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\RunResource\:\:\$price_rub_charged\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/RunResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\RunResource\:\:\$progress\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/RunResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\RunResource\:\:\$region_code\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/RunResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\RunResource\:\:\$result\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/RunResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\RunResource\:\:\$started_at\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/RunResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\RunResource\:\:\$status\.$#'
|
|
identifier: property.notFound
|
|
count: 2
|
|
path: app/Http/Resources/Autopodbor/RunResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\SourceResource\:\:\$box\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/SourceResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\SourceResource\:\:\$competitor_id\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/SourceResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\SourceResource\:\:\$confirmations\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/SourceResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\SourceResource\:\:\$created_project_id\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/SourceResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\SourceResource\:\:\$id\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/SourceResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\SourceResource\:\:\$identifier\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/SourceResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\SourceResource\:\:\$office\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/SourceResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\SourceResource\:\:\$phone_kind\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/SourceResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\SourceResource\:\:\$phone_type\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/SourceResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\SourceResource\:\:\$provenance_label\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/SourceResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\SourceResource\:\:\$provenance_url\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/SourceResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\Autopodbor\\SourceResource\:\:\$signal_type\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/Autopodbor/SourceResource.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Http\\Resources\\ProjectResource\:\:\$applies_from\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Http/Resources/ProjectResource.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$array \(list\<int\>\) of array_values is already a list, call has no effect\.$#'
|
|
identifier: arrayValues.list
|
|
count: 1
|
|
path: app/Jobs/Autopodbor/RunAutopodborStudyJob.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>message" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Jobs/Bot/ProcessChatMessageJob.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>source" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 2
|
|
path: app/Jobs/Bot/ProcessChatMessageJob.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access on non\-nullable type App\\Models\\BotDialog\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Jobs/Bot/ProcessChatMessageJob.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$array \(non\-empty\-list\<int\>\) of array_values is already a list, call has no effect\.$#'
|
|
identifier: arrayValues.list
|
|
count: 1
|
|
path: app/Jobs/RouteSupplierLeadJob.php
|
|
|
|
-
|
|
message: '#^Strict comparison using \!\=\= between App\\Models\\Project and null will always evaluate to true\.$#'
|
|
identifier: notIdentical.alwaysTrue
|
|
count: 1
|
|
path: app/Jobs/RouteSupplierLeadJob.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$array \(non\-empty\-list\<int\>\) of array_values is already a list, call has no effect\.$#'
|
|
identifier: arrayValues.list
|
|
count: 1
|
|
path: app/Jobs/Supplier/SyncSupplierProjectsJob.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$column of method Illuminate\\Database\\Eloquent\\Builder\<App\\Models\\Project\>\:\:where\(\) expects array\<int\|model property of App\\Models\\Project, mixed\>\|\(Closure\(Illuminate\\Database\\Eloquent\\Builder\<App\\Models\\Project\>\)\: Illuminate\\Database\\Eloquent\\Builder\<App\\Models\\Project\>\)\|\(Closure\(Illuminate\\Database\\Eloquent\\Builder\<App\\Models\\Project\>\)\: void\)\|Illuminate\\Contracts\\Database\\Query\\Expression\|model property of App\\Models\\Project, ''snap\.snapshot_date'' given\.$#'
|
|
identifier: argument.type
|
|
count: 1
|
|
path: app/Jobs/Supplier/SyncSupplierProjectsJob.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>name" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 2
|
|
path: app/Mail/NewLeadNotification.php
|
|
|
|
-
|
|
message: '#^Strict comparison using \=\=\= between string and null will always evaluate to false\.$#'
|
|
identifier: identical.alwaysFalse
|
|
count: 1
|
|
path: app/Models/PaymentGateway.php
|
|
|
|
-
|
|
message: '#^Cannot call method copy\(\) on string\.$#'
|
|
identifier: method.nonObject
|
|
count: 2
|
|
path: app/Services/Advertising/CampaignAudienceBuilder.php
|
|
|
|
-
|
|
message: '#^Instanceof between string\|null and DateTimeInterface will always evaluate to false\.$#'
|
|
identifier: instanceof.alwaysFalse
|
|
count: 1
|
|
path: app/Services/Advertising/CampaignImpressionCharger.php
|
|
|
|
-
|
|
message: '#^Result of && is always false\.$#'
|
|
identifier: booleanAnd.alwaysFalse
|
|
count: 1
|
|
path: app/Services/Advertising/CampaignImpressionCharger.php
|
|
|
|
-
|
|
message: '#^Right side of \|\| is always false\.$#'
|
|
identifier: booleanOr.rightAlwaysFalse
|
|
count: 1
|
|
path: app/Services/Advertising/CampaignImpressionCharger.php
|
|
|
|
-
|
|
message: '#^Instanceof between string\|null and DateTimeInterface will always evaluate to false\.$#'
|
|
identifier: instanceof.alwaysFalse
|
|
count: 1
|
|
path: app/Services/Advertising/CampaignLauncher.php
|
|
|
|
-
|
|
message: '#^Call to function is_string\(\) with string will always evaluate to true\.$#'
|
|
identifier: function.alreadyNarrowedType
|
|
count: 1
|
|
path: app/Services/Advertising/CampaignMessageService.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$array \(list\<array\{name\?\: string, site_url\?\: string\|null, description\?\: string\|null\}\>\) of array_values is already a list, call has no effect\.$#'
|
|
identifier: arrayValues.list
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/Aggregator/AggregatorFilter.php
|
|
|
|
-
|
|
message: '#^Offset ''name'' on array\{name\: string, site_url\: string\|null, description\: string\|null\} on left side of \?\? always exists and is not nullable\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/Aggregator/AitunnelAggregatorClassifier.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$array \(list\<array\{name\: string, site_url\: string\|null, description\: string\|null\}\>\) of array_values is already a list, call has no effect\.$#'
|
|
identifier: arrayValues.list
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/Aggregator/AitunnelAggregatorClassifier.php
|
|
|
|
-
|
|
message: '#^Offset ''uncertain'' on array\{code\: array\<string, list\<string\>\>, body\: array\<string, int\>, emails\: list\<string\>, uncertain\: list\<string\>\} on left side of \?\? always exists and is not nullable\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/Extract/CandidateBuilder.php
|
|
|
|
-
|
|
message: '#^Offset 1 on non\-empty\-list\<string\> on left side of \?\? always exists and is not nullable\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/Extract/DirectoryParser.php
|
|
|
|
-
|
|
message: '#^Ternary operator condition is always true\.$#'
|
|
identifier: ternary.alwaysTrue
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/Extract/DirectoryParser.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$array \(list\<array\{number\: string, kind\: string, label\: string, url\: string\|null, office\: string\|null, tracker\: bool\}\>\) of array_values is already a list, call has no effect\.$#'
|
|
identifier: arrayValues.list
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/Extract/PhoneValidityGate.php
|
|
|
|
-
|
|
message: '#^Offset ''html'' on array\{html\: string, visiblePhones\: list\<string\>\} on left side of \?\? always exists and is not nullable\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/Fetch/CurlPlaywrightFetcher.php
|
|
|
|
-
|
|
message: '#^Offset ''html'' on array\{html\: string\} on left side of \?\? always exists and is not nullable\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/Fetch/CurlPlaywrightFetcher.php
|
|
|
|
-
|
|
message: '#^Offset ''visiblePhones'' on array\{html\: string, visiblePhones\: list\<string\>\} on left side of \?\? always exists and is not nullable\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 2
|
|
path: app/Services/Autopodbor/Agent/Fetch/CurlPlaywrightFetcher.php
|
|
|
|
-
|
|
message: '#^Dead catch \- Symfony\\Component\\Process\\Exception\\ProcessTimedOutException is never thrown in the try block\.$#'
|
|
identifier: catch.neverThrown
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/Fetch/LivePageFetcher.php
|
|
|
|
-
|
|
message: '#^Method App\\Services\\Autopodbor\\Agent\\Fetch\\SelfRenderClient\:\:request\(\) never returns null so it can be removed from the return type\.$#'
|
|
identifier: return.unusedType
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/Fetch/SelfRenderClient.php
|
|
|
|
-
|
|
message: '#^Method App\\Services\\Autopodbor\\Agent\\Fetch\\XfetchClient\:\:request\(\) never returns null so it can be removed from the return type\.$#'
|
|
identifier: return.unusedType
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/Fetch/XfetchClient.php
|
|
|
|
-
|
|
message: '#^Offset ''description'' on array\{name\: string, card_url\: string\} on left side of \?\? does not exist\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/LiveFindCompetitors.php
|
|
|
|
-
|
|
message: '#^Offset ''slug'' on array\{name\: string, card_url\: string\} in isset\(\) does not exist\.$#'
|
|
identifier: isset.offset
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/LiveFindCompetitors.php
|
|
|
|
-
|
|
message: '#^Result of && is always false\.$#'
|
|
identifier: booleanAnd.alwaysFalse
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/LiveFindCompetitors.php
|
|
|
|
-
|
|
message: '#^Call to function is_array\(\) with array\{\} will always evaluate to true\.$#'
|
|
identifier: function.alreadyNarrowedType
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/RealCompetitorAgent.php
|
|
|
|
-
|
|
message: '#^Offset ''elements'' on array\{name\: string, site_url\?\: string\|null, directory_urls\?\: array\} on left side of \?\? does not exist\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/RealCompetitorAgent.php
|
|
|
|
-
|
|
message: '#^Result of \|\| is always true\.$#'
|
|
identifier: booleanOr.alwaysTrue
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/RealCompetitorAgent.php
|
|
|
|
-
|
|
message: '#^Strict comparison using \=\=\= between array\{\} and array\{\} will always evaluate to true\.$#'
|
|
identifier: identical.alwaysTrue
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/RealCompetitorAgent.php
|
|
|
|
-
|
|
message: '#^Unreachable statement \- code above always terminates\.$#'
|
|
identifier: deadCode.unreachable
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/RealCompetitorAgent.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$array \(list\<string\>\) of array_values is already a list, call has no effect\.$#'
|
|
identifier: arrayValues.list
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/Similarity/AitunnelEmbedder.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$array \(non\-empty\-list\<string\>\) of array_values is already a list, call has no effect\.$#'
|
|
identifier: arrayValues.list
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/Similarity/EmbeddingRelevance.php
|
|
|
|
-
|
|
message: '#^Call to function is_array\(\) with array will always evaluate to true\.$#'
|
|
identifier: function.alreadyNarrowedType
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/Study/CompetitorFingerprint.php
|
|
|
|
-
|
|
message: '#^Offset ''digits'' on array\{digits\: string, url\: string, source\: string\} on left side of \?\? always exists and is not nullable\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/Study/CompositePhoneReverse.php
|
|
|
|
-
|
|
message: '#^Offset ''domain'' on array\{domain\: string, site_url\: string, card_url\: string\} on left side of \?\? always exists and is not nullable\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/Study/CompositePhoneReverse.php
|
|
|
|
-
|
|
message: '#^Offset ''digits'' on array\{digits\: string, url\: string, source\: string\} on left side of \?\? always exists and is not nullable\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/Study/ParallelPhoneReverse.php
|
|
|
|
-
|
|
message: '#^Offset ''domain'' on array\{domain\: string, site_url\: string, card_url\: string\} on left side of \?\? always exists and is not nullable\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/Study/ParallelPhoneReverse.php
|
|
|
|
-
|
|
message: '#^Offset ''card_url'' on array\{name\: string, card_url\: string\} on left side of \?\? always exists and is not nullable\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/Study/YandexPhoneReverseExpander.php
|
|
|
|
-
|
|
message: '#^Offset ''phones'' on array\{phones\: list\<string\>, site\: string\|null\} on left side of \?\? always exists and is not nullable\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: app/Services/Autopodbor/Agent/Study/YandexPhoneReverseExpander.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$array \(list\<array\>\) of array_values is already a list, call has no effect\.$#'
|
|
identifier: arrayValues.list
|
|
count: 1
|
|
path: app/Services/Autopodbor/AutopodborDedup.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$array \(list\<array\{ids\: non\-empty\-list\<int\>, reason\: string\}\>\) of array_values is already a list, call has no effect\.$#'
|
|
identifier: arrayValues.list
|
|
count: 1
|
|
path: app/Services/Autopodbor/AutopodborDedup.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$array \(list\<non\-empty\-string\>\) of array_values is already a list, call has no effect\.$#'
|
|
identifier: arrayValues.list
|
|
count: 1
|
|
path: app/Services/Autopodbor/AutopodborNormalizer.php
|
|
|
|
-
|
|
message: '#^Offset ''directory_urls'' on array\{name\: string, site_url\: string\|null, directory_urls\: array\} on left side of \?\? always exists and is not nullable\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: app/Services/Autopodbor/AutopodborRunService.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>region_code" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 2
|
|
path: app/Services/Autopodbor/AutopodborRunService.php
|
|
|
|
-
|
|
message: '#^Offset ''cards'' on array\{name\: string, sites\: list\<string\>, cards\: list\<string\>\} on left side of \?\? always exists and is not nullable\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: app/Services/Autopodbor/CompetitorElements.php
|
|
|
|
-
|
|
message: '#^Offset ''sites'' on array\{name\: string, sites\: list\<string\>, cards\: list\<string\>\} on left side of \?\? always exists and is not nullable\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: app/Services/Autopodbor/CompetitorElements.php
|
|
|
|
-
|
|
message: '#^Offset ''dismissed_actualize…'' on array\{id\: int, box\: string, name\?\: string, site_url\?\: string\|null, directory_urls\?\: array\} on left side of \?\? does not exist\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: app/Services/Autopodbor/ProposalClassifier.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$array \(array\{\}\) to function array_values is empty, call has no effect\.$#'
|
|
identifier: arrayValues.empty
|
|
count: 1
|
|
path: app/Services/Autopodbor/ProposalClassifier.php
|
|
|
|
-
|
|
message: '#^Offset ''num'' on array\{0\: list\<string\>, num\: list\<non\-falsy\-string\|numeric\-string\>, 1\: list\<non\-falsy\-string\|numeric\-string\>\} on left side of \?\? always exists and is not nullable\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: app/Services/Bot/AnswerGuard.php
|
|
|
|
-
|
|
message: '#^Offset 0 on array\{list\<string\>\} on left side of \?\? always exists and is not nullable\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: app/Services/Bot/AnswerGuard.php
|
|
|
|
-
|
|
message: '#^Offset 1 on array\{list\<string\>, list\<non\-empty\-string\>\} on left side of \?\? always exists and is not nullable\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: app/Services/Bot/AnswerGuard.php
|
|
|
|
-
|
|
message: '#^Offset 1 on array\{list\<string\>, list\<non\-falsy\-string\>\} on left side of \?\? always exists and is not nullable\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: app/Services/Bot/AnswerGuard.php
|
|
|
|
-
|
|
message: '#^Offset ''role'' on array\{role\: string, text\: string\} on left side of \?\? always exists and is not nullable\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: app/Services/Bot/BotAnswerService.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Models\\KnowledgeChunk\:\:\$headline_rank\.$#'
|
|
identifier: property.notFound
|
|
count: 2
|
|
path: app/Services/Bot/KnowledgeSearch.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Models\\KnowledgeChunk\:\:\$rank\.$#'
|
|
identifier: property.notFound
|
|
count: 2
|
|
path: app/Services/Bot/KnowledgeSearch.php
|
|
|
|
-
|
|
message: '#^Right side of && is always true\.$#'
|
|
identifier: booleanAnd.rightAlwaysTrue
|
|
count: 1
|
|
path: app/Services/External/Yandex360BalanceStore.php
|
|
|
|
-
|
|
message: '#^Call to function is_array\(\) with array\<mixed\> will always evaluate to true\.$#'
|
|
identifier: function.alreadyNarrowedType
|
|
count: 1
|
|
path: app/Services/LeadRegionResolver.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Models\\Project\:\:\$snapshot_daily_limit\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Services/LeadRouter.php
|
|
|
|
-
|
|
message: '#^Call to function is_array\(\) with array\<mixed\> will always evaluate to true\.$#'
|
|
identifier: function.alreadyNarrowedType
|
|
count: 1
|
|
path: app/Services/NotificationService.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>name" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: app/Services/NotificationService.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Models\\Project\:\:\$activate_deferred\.$#'
|
|
identifier: property.notFound
|
|
count: 3
|
|
path: app/Services/Project/ProjectService.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Models\\Project\:\:\$applies_from\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Services/Project/ProjectService.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Models\\Project\:\:\$gate_payload\.$#'
|
|
identifier: property.notFound
|
|
count: 4
|
|
path: app/Services/Project/ProjectService.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Models\\Project\:\:\$launch_deferred\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: app/Services/Project/ProjectService.php
|
|
|
|
-
|
|
message: '#^Match expression does not handle remaining value\: string$#'
|
|
identifier: match.unhandled
|
|
count: 1
|
|
path: app/Services/Project/ProjectService.php
|
|
|
|
-
|
|
message: '#^Method App\\Services\\Project\\ProjectService\:\:bulkSimpleUpdate\(\) is unused\.$#'
|
|
identifier: method.unused
|
|
count: 1
|
|
path: app/Services/Project/ProjectService.php
|
|
|
|
-
|
|
message: '#^Strict comparison using \!\=\= between App\\Services\\Billing\\GateResult and null will always evaluate to true\.$#'
|
|
identifier: notIdentical.alwaysTrue
|
|
count: 2
|
|
path: app/Services/Project/ProjectService.php
|
|
|
|
-
|
|
message: '#^Strict comparison using \!\=\= between App\\Models\\SalesUser and null will always evaluate to true\.$#'
|
|
identifier: notIdentical.alwaysTrue
|
|
count: 1
|
|
path: app/Services/Sales/SalesAttachmentService.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access on non\-nullable type App\\Models\\SalesUser\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 2
|
|
path: app/Services/Sales/SalesPayoutService.php
|
|
|
|
-
|
|
message: '#^Call to function is_array\(\) with array\<string, mixed\> will always evaluate to true\.$#'
|
|
identifier: function.alreadyNarrowedType
|
|
count: 1
|
|
path: app/Services/Supplier/Channel/AjaxProjectChannel.php
|
|
|
|
-
|
|
message: '#^PHPDoc tag @param references unknown parameter\: \$utm$#'
|
|
identifier: parameter.notFound
|
|
count: 1
|
|
path: app/Services/Tracking/VisitTracker.php
|
|
|
|
-
|
|
message: '#^Offset non\-empty\-string on array\{\} on left side of \?\? does not exist\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: app/Support/DaDataRegionMap.php
|
|
|
|
-
|
|
message: '#^Return type \(array\<string, mixed\>\) of method Database\\Factories\\BalanceTransactionFactory\:\:definition\(\) should be compatible with return type \(array\<model property of App\\Models\\BalanceTransaction, mixed\>\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\<App\\Models\\BalanceTransaction\>\:\:definition\(\)$#'
|
|
identifier: method.childReturnType
|
|
count: 1
|
|
path: database/factories/BalanceTransactionFactory.php
|
|
|
|
-
|
|
message: '#^Return type \(array\<string, mixed\>\) of method Database\\Factories\\ProjectFactory\:\:definition\(\) should be compatible with return type \(array\<model property of App\\Models\\Project, mixed\>\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\<App\\Models\\Project\>\:\:definition\(\)$#'
|
|
identifier: method.childReturnType
|
|
count: 1
|
|
path: database/factories/ProjectFactory.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$state of method Illuminate\\Database\\Eloquent\\Factories\\Factory\<App\\Models\\User\>\:\:state\(\) expects array\<string, mixed\>\|\(callable\(array\<string, mixed\>, Illuminate\\Database\\Eloquent\\Model\|null\)\: array\<string, mixed\>\), Closure\(array, App\\Models\\ReportJob\)\: array\{tenant_id\: int\} given\.$#'
|
|
identifier: argument.type
|
|
count: 1
|
|
path: database/factories/ReportJobFactory.php
|
|
|
|
-
|
|
message: '#^Return type \(array\<string, mixed\>\) of method Database\\Factories\\TenantFactory\:\:definition\(\) should be compatible with return type \(array\<model property of App\\Models\\Tenant, mixed\>\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\<App\\Models\\Tenant\>\:\:definition\(\)$#'
|
|
identifier: method.childReturnType
|
|
count: 1
|
|
path: database/factories/TenantFactory.php
|
|
|
|
-
|
|
message: '#^Return type \(array\<string, mixed\>\) of method Database\\Factories\\UserFactory\:\:definition\(\) should be compatible with return type \(array\<model property of App\\Models\\User, mixed\>\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\<App\\Models\\User\>\:\:definition\(\)$#'
|
|
identifier: method.childReturnType
|
|
count: 1
|
|
path: database/factories/UserFactory.php
|
|
|
|
-
|
|
message: '#^Using nullsafe method call on non\-nullable type Illuminate\\Console\\Command\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: database/seeders/OmegaDemoFieldSeeder.php
|
|
|
|
-
|
|
message: '#^Offset ''SnapshotProjectRout…'' on null in isset\(\) does not exist\.$#'
|
|
identifier: isset.offset
|
|
count: 1
|
|
path: routes/console.php
|
|
|
|
-
|
|
message: '#^Offset ''projects\:reset…'' on null in isset\(\) does not exist\.$#'
|
|
identifier: isset.offset
|
|
count: 1
|
|
path: routes/console.php
|
|
|
|
-
|
|
message: '#^Trait Tests\\Concerns\\SharesAdminPdo is used zero times and is not analysed\.$#'
|
|
identifier: trait.unused
|
|
count: 1
|
|
path: tests/Concerns/SharesAdminPdo.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Access to an undefined property Pest\\Mixins\\Expectation\<mixed\>\:\:\$not\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: tests/Feature/AdminSystemSettingsTest.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Offset ''79990005001'' on array\<string, int\<1, max\>\> on left side of \?\? does not exist\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: tests/Feature/Advertising/AudienceBuilderModeTest.php
|
|
|
|
|
|
|
|
-
|
|
message: '#^Cannot call method format\(\) on string\.$#'
|
|
identifier: method.nonObject
|
|
count: 1
|
|
path: tests/Feature/Advertising/CampaignLauncherTest.php
|
|
|
|
-
|
|
message: '#^Offset ''adgroups'' on array\{\} on left side of \?\? does not exist\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: tests/Feature/Advertising/CampaignLauncherTest.php
|
|
|
|
-
|
|
message: '#^Offset ''ads'' on array\{\} on left side of \?\? does not exist\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: tests/Feature/Advertising/CampaignLauncherTest.php
|
|
|
|
-
|
|
message: '#^Offset ''audiencetargets'' on array\{\} on left side of \?\? does not exist\.$#'
|
|
identifier: nullCoalesce.offset
|
|
count: 1
|
|
path: tests/Feature/Advertising/CampaignLauncherTest.php
|
|
|
|
-
|
|
message: '#^Right side of && is always true\.$#'
|
|
identifier: booleanAnd.rightAlwaysTrue
|
|
count: 1
|
|
path: tests/Feature/Advertising/CampaignLauncherTest.php
|
|
|
|
-
|
|
message: '#^Ternary operator condition is always true\.$#'
|
|
identifier: ternary.alwaysTrue
|
|
count: 1
|
|
path: tests/Feature/Advertising/CampaignLauncherTest.php
|
|
|
|
|
|
|
|
-
|
|
message: '#^Cannot call method format\(\) on string\.$#'
|
|
identifier: method.nonObject
|
|
count: 2
|
|
path: tests/Feature/Advertising/CampaignModeModelTest.php
|
|
|
|
-
|
|
message: '#^Cannot call method format\(\) on string\.$#'
|
|
identifier: method.nonObject
|
|
count: 2
|
|
path: tests/Feature/Advertising/CampaignPokazyStoreTest.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>cnt" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: tests/Feature/Audit/AuditRebuildChainTest.php
|
|
|
|
|
|
|
|
-
|
|
message: '#^Access to an undefined property Pest\\Mixins\\Expectation\<string\|null\>\:\:\$not\.$#'
|
|
identifier: property.notFound
|
|
count: 2
|
|
path: tests/Feature/Audit/VerifyAuditChainsTest.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Access to an undefined property Pest\\Mixins\\Expectation\<array\<mixed\>\|null\>\:\:\$not\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: tests/Feature/Autopodbor/AutopodborCompetitorMergerTest.php
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Access to an undefined property Pest\\Expectation\<App\\Models\\AutopodborSource\|null\>\:\:\$box\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: tests/Feature/Autopodbor/AutopodborManualApiTest.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$value of method Pest\\Expectation\<string\|null\>\:\:and\(\) expects Illuminate\\Support\\Collection\<\(int\|string\), array\{signal_type\: string, identifier\: string, phone_kind\: string\|null, phone_type\: string\|null, provenance_url\: string\|null, provenance_label\: string\|null, where_found\: array\<int, array\{label\: string, url\: string\|null\}\>, office\: string\|null, \.\.\.\}\>, Illuminate\\Support\\Collection\<\(int\|string\), array\{signal_type\: string, identifier\: string, phone_kind\: string\|null, phone_type\: string\|null, provenance_url\: string\|null, provenance_label\: string\|null, where_found\: array\<int, array\{label\: string, url\: string\|null\}\>, office\: string\|null, \.\.\.\}\> given\.$#'
|
|
identifier: argument.type
|
|
count: 1
|
|
path: tests/Feature/Autopodbor/DeepStudyCollectorTest.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Services\\Autopodbor\\RunProgressChannel\:\:\$calls\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: tests/Feature/Autopodbor/LiveFindProgressTest.php
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Services\\Autopodbor\\RunProgressChannel\:\:\$calls\.$#'
|
|
identifier: property.notFound
|
|
count: 2
|
|
path: tests/Feature/Autopodbor/StudyProgressTest.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Call to an undefined method Mockery\\ExpectationInterface\|Mockery\\HigherOrderMessage\:\:once\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: tests/Feature/Billing/OnlineTopupServiceTest.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$driver of class App\\Services\\Billing\\OnlineTopupService constructor expects App\\Services\\Billing\\Gateway\\PaymentGatewayDriver, Mockery\\MockInterface given\.$#'
|
|
identifier: argument.type
|
|
count: 1
|
|
path: tests/Feature/Billing/OnlineTopupServiceTest.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Call to an undefined static method Illuminate\\Support\\Facades\\Log\:\:shouldHaveReceived\(\)\.$#'
|
|
identifier: staticMethod.notFound
|
|
count: 1
|
|
path: tests/Feature/Bot/ProcessChatMessageJobTest.php
|
|
|
|
-
|
|
message: '#^Method class@anonymous/tests/Feature/Bot/ProcessChatMessageJobTest\.php\:119\:\:card\(\) never returns null so it can be removed from the return type\.$#'
|
|
identifier: return.unusedType
|
|
count: 1
|
|
path: tests/Feature/Bot/ProcessChatMessageJobTest.php
|
|
|
|
-
|
|
message: '#^Method class@anonymous/tests/Feature/Bot/ProcessChatMessageJobTest\.php\:161\:\:card\(\) never returns null so it can be removed from the return type\.$#'
|
|
identifier: return.unusedType
|
|
count: 1
|
|
path: tests/Feature/Bot/ProcessChatMessageJobTest.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$value of function expect expects Illuminate\\Support\\Collection\<int, array\{Illuminate\\Http\\Client\\Request, Illuminate\\Http\\Client\\Response\|null\}\>\|null, Illuminate\\Support\\Collection\<int, array\{Illuminate\\Http\\Client\\Request, Illuminate\\Http\\Client\\Response\|null\}\> given\.$#'
|
|
identifier: argument.type
|
|
count: 1
|
|
path: tests/Feature/Bot/ProcessChatMessageJobTest.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Call to an undefined static method Illuminate\\Support\\Facades\\Log\:\:shouldHaveReceived\(\)\.$#'
|
|
identifier: staticMethod.notFound
|
|
count: 1
|
|
path: tests/Feature/ClientTg/AutoSafeguardTest.php
|
|
|
|
-
|
|
message: '#^Cannot call method toDateString\(\) on string\.$#'
|
|
identifier: method.nonObject
|
|
count: 1
|
|
path: tests/Feature/ClientTg/AutoSafeguardTest.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Call to an undefined method Mockery\\ExpectationInterface\|Mockery\\HigherOrderMessage\:\:andThrow\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: tests/Feature/ClientTg/DealObserverTest.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Call to an undefined method Mockery\\ExpectationInterface\|Mockery\\HigherOrderMessage\:\:andReturnUsing\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 2
|
|
path: tests/Feature/ClientTg/LaunchIdempotencyTest.php
|
|
|
|
|
|
|
|
-
|
|
message: '#^Call to an undefined method Mockery\\ExpectationInterface\|Mockery\\HigherOrderMessage\:\:once\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: tests/Feature/ClientTg/ManualFlowTest.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Call to an undefined method Mockery\\ExpectationInterface\|Mockery\\HigherOrderMessage\:\:never\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 7
|
|
path: tests/Feature/ClientTg/PollModerationTest.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method Mockery\\ExpectationInterface\|Mockery\\HigherOrderMessage\:\:once\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 2
|
|
path: tests/Feature/ClientTg/PollModerationTest.php
|
|
|
|
|
|
|
|
-
|
|
message: '#^Call to an undefined method Mockery\\ExpectationInterface\|Mockery\\HigherOrderMessage\:\:andReturnUsing\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: tests/Feature/ClientTg/ResubmitJobTest.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property Pest\\Mixins\\Expectation\<string\|null\>\:\:\$not\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: tests/Feature/ClientTg/ResubmitTest.php
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Access to an undefined property Pest\\Mixins\\Expectation\<mixed\>\:\:\$not\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: tests/Feature/ClientTg/RunCampaignJobTest.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method Mockery\\ExpectationInterface\|Mockery\\HigherOrderMessage\:\:andReturnUsing\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: tests/Feature/ClientTg/RunCampaignJobTest.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method Mockery\\ExpectationInterface\|Mockery\\HigherOrderMessage\:\:andReturnUsing\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: tests/Feature/ClientTg/SandboxTest.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Static method Carbon\\Carbon\:\:setTestNow\(\) invoked with 2 parameters, 0\-1 required\.$#'
|
|
identifier: arguments.count
|
|
count: 2
|
|
path: tests/Feature/Console/SnapshotBackfillCommandTest.php
|
|
|
|
|
|
-
|
|
message: '#^Static method Carbon\\Carbon\:\:setTestNow\(\) invoked with 2 parameters, 0\-1 required\.$#'
|
|
identifier: arguments.count
|
|
count: 2
|
|
path: tests/Feature/Console/SnapshotRebuildCommandTest.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Models\\Project\:\:\$applies_from\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: tests/Feature/Http/Resources/ProjectResourceAppliesFromTest.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>region_source" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 1
|
|
path: tests/Feature/Imitation/ScenarioBC_RegionCascadeTest.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>routing_step" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 4
|
|
path: tests/Feature/Imitation/ScenarioBC_RegionCascadeTest.php
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>subject_code_resolved" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 4
|
|
path: tests/Feature/Imitation/ScenarioBC_RegionCascadeTest.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Static method Carbon\\Carbon\:\:setTestNow\(\) invoked with 2 parameters, 0\-1 required\.$#'
|
|
identifier: arguments.count
|
|
count: 2
|
|
path: tests/Feature/Jobs/RouteSupplierLeadJobSnapshotTest.php
|
|
|
|
|
|
-
|
|
message: '#^Static method Carbon\\Carbon\:\:setTestNow\(\) invoked with 2 parameters, 0\-1 required\.$#'
|
|
identifier: arguments.count
|
|
count: 1
|
|
path: tests/Feature/Jobs/SnapshotProjectRoutingJobTest.php
|
|
|
|
-
|
|
message: '#^Static method Carbon\\Carbon\:\:setTestNow\(\) invoked with 2 parameters, 0\-1 required\.$#'
|
|
identifier: arguments.count
|
|
count: 4
|
|
path: tests/Feature/Jobs/Supplier/SyncSupplierProjectsJobSnapshotTest.php
|
|
|
|
-
|
|
message: '#^Static method Carbon\\Carbon\:\:setTestNow\(\) invoked with 2 parameters, 0\-1 required\.$#'
|
|
identifier: arguments.count
|
|
count: 1
|
|
path: tests/Feature/LeadRouter/FrozenFilterTest.php
|
|
|
|
|
|
-
|
|
message: '#^Static method Carbon\\Carbon\:\:setTestNow\(\) invoked with 2 parameters, 0\-1 required\.$#'
|
|
identifier: arguments.count
|
|
count: 4
|
|
path: tests/Feature/LeadRouter/SnapshotRoutingTest.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Models\\Project\:\:\$gate_payload\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: tests/Feature/Project/CreateLaunchGateTest.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Models\\Project\:\:\$launch_deferred\.$#'
|
|
identifier: property.notFound
|
|
count: 3
|
|
path: tests/Feature/Project/CreateLaunchGateTest.php
|
|
|
|
|
|
|
|
-
|
|
message: '#^Call to an undefined method Symfony\\Component\\HttpFoundation\\Response\:\:getData\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: tests/Feature/Project/ProjectCreateDedupTest.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Models\\Project\:\:\$activate_deferred\.$#'
|
|
identifier: property.notFound
|
|
count: 2
|
|
path: tests/Feature/Project/SetActiveGateTest.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Models\\Project\:\:\$gate_payload\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: tests/Feature/Project/SetActiveGateTest.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Access to an undefined property Pest\\Mixins\\Expectation\<list\|null\>\:\:\$not\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: tests/Feature/Sales/SalesAttachmentApiTest.php
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Access to an undefined property Pest\\Mixins\\Expectation\<mixed\>\:\:\$not\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: tests/Feature/Sales/SalesAuthTest.php
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Access to an undefined property Pest\\Mixins\\Expectation\<mixed\>\:\:\$not\.$#'
|
|
identifier: property.notFound
|
|
count: 3
|
|
path: tests/Feature/Sales/SalesClientCardTest.php
|
|
|
|
|
|
|
|
-
|
|
message: '#^Access to an undefined property Pest\\Mixins\\Expectation\<list\|null\>\:\:\$not\.$#'
|
|
identifier: property.notFound
|
|
count: 3
|
|
path: tests/Feature/Sales/SalesClientsIndexTest.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Access to an undefined property Pest\\Mixins\\Expectation\<Illuminate\\Support\\Collection\<\(int\|string\), mixed\>\|null\>\:\:\$not\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: tests/Feature/Sales/SalesIntegrationApiTest.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Access to an undefined property Pest\\Mixins\\Expectation\<mixed\>\:\:\$not\.$#'
|
|
identifier: property.notFound
|
|
count: 2
|
|
path: tests/Feature/Sales/SalesOverviewTest.php
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Access to an undefined property Pest\\Mixins\\Expectation\<list\<int\>\|null\>\:\:\$not\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: tests/Feature/Sales/SalesOwnershipScopeTest.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property Pest\\Mixins\\Expectation\<mixed\>\:\:\$not\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: tests/Feature/Sales/SalesOwnershipScopeTest.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Access to an undefined property Pest\\Mixins\\Expectation\<Illuminate\\Support\\Collection\<\(int\|string\), mixed\>\|null\>\:\:\$not\.$#'
|
|
identifier: property.notFound
|
|
count: 5
|
|
path: tests/Feature/Sales/SalesProspectApiTest.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Access to an undefined property Pest\\Mixins\\Expectation\<list\|null\>\:\:\$not\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: tests/Feature/Sales/SalesTariffApiTest.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Models\\Project\:\:\$routing_step\.$#'
|
|
identifier: property.notFound
|
|
count: 6
|
|
path: tests/Feature/Services/LeadRouterCascadeTest.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Models\\Project\:\:\$applies_from\.$#'
|
|
identifier: property.notFound
|
|
count: 5
|
|
path: tests/Feature/Services/Project/ProjectServiceAppliesFromTest.php
|
|
|
|
-
|
|
message: '#^Static method Carbon\\Carbon\:\:setTestNow\(\) invoked with 2 parameters, 0\-1 required\.$#'
|
|
identifier: arguments.count
|
|
count: 4
|
|
path: tests/Feature/Services/Project/ProjectServiceAppliesFromTest.php
|
|
|
|
-
|
|
message: '#^Static method Carbon\\Carbon\:\:setTestNow\(\) invoked with 2 parameters, 0\-1 required\.$#'
|
|
identifier: arguments.count
|
|
count: 5
|
|
path: tests/Feature/Services/Project/SupplierSnapshotGuardAppliesFromTest.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Services\\Supplier\\PlaywrightBridge\:\:\$lastArgs\.$#'
|
|
identifier: property.notFound
|
|
count: 7
|
|
path: tests/Feature/Supplier/Channel/FormProjectChannelTest.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method Illuminate\\Contracts\\Cache\\Repository\:\:lock\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: tests/Feature/Supplier/CsvReconcileJobTest.php
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Call to an undefined method Mockery\\ExpectationInterface\|Mockery\\HigherOrderMessage\:\:once\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: tests/Feature/Supplier/DeleteSupplierProjectJobTest.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method Mockery\\ExpectationInterface\|Mockery\\HigherOrderMessage\:\:once\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: tests/Feature/Supplier/DeleteSupplierProjectTailGuardTest.php
|
|
|
|
|
|
|
|
-
|
|
message: '#^Call to an undefined method Mockery\\ExpectationInterface\|Mockery\\HigherOrderMessage\:\:andThrow\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 3
|
|
path: tests/Feature/Supplier/FailoverProjectChannelLiveSmokeTest.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$tier1 of class App\\Services\\Supplier\\Channel\\FailoverProjectChannel constructor expects App\\Services\\Supplier\\Channel\\SupplierProjectChannel, Mockery\\MockInterface given\.$#'
|
|
identifier: argument.type
|
|
count: 2
|
|
path: tests/Feature/Supplier/FailoverProjectChannelLiveSmokeTest.php
|
|
|
|
-
|
|
message: '#^Parameter \#2 \$tier2 of class App\\Services\\Supplier\\Channel\\FailoverProjectChannel constructor expects App\\Services\\Supplier\\Channel\\SupplierProjectChannel, Mockery\\MockInterface given\.$#'
|
|
identifier: argument.type
|
|
count: 2
|
|
path: tests/Feature/Supplier/FailoverProjectChannelLiveSmokeTest.php
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Call to an undefined method Mockery\\ExpectationInterface\|Mockery\\HigherOrderMessage\:\:andReturnNull\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: tests/Feature/Supplier/OnlineDeferWindowTest.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method Mockery\\ExpectationInterface\|Mockery\\HigherOrderMessage\:\:once\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 4
|
|
path: tests/Feature/Supplier/PruneSupplierExtraChannelsJobTest.php
|
|
|
|
|
|
-
|
|
message: '#^Cannot access property \$resolved_at on array\<mixed\>\|object\.$#'
|
|
identifier: property.nonObject
|
|
count: 1
|
|
path: tests/Feature/Supplier/RetryFailedSupplierJobsCommandTest.php
|
|
|
|
-
|
|
message: '#^Cannot access property \$retried_at on array\<mixed\>\|object\.$#'
|
|
identifier: property.nonObject
|
|
count: 4
|
|
path: tests/Feature/Supplier/RetryFailedSupplierJobsCommandTest.php
|
|
|
|
-
|
|
message: '#^Cannot access property \$retry_count on array\<mixed\>\|object\.$#'
|
|
identifier: property.nonObject
|
|
count: 7
|
|
path: tests/Feature/Supplier/RetryFailedSupplierJobsCommandTest.php
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$client of class App\\Services\\Supplier\\Import\\SupplierProjectImporter constructor expects App\\Services\\Supplier\\SupplierPortalClient, Mockery\\MockInterface given\.$#'
|
|
identifier: argument.type
|
|
count: 1
|
|
path: tests/Feature/Supplier/SupplierProjectImporterTest.php
|
|
|
|
|
|
|
|
-
|
|
message: '#^Call to an undefined method App\\Services\\Supplier\\PlaywrightBridge\:\:shouldReceive\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: tests/Feature/Supplier/SupplierSessionRefreshCommandTest.php
|
|
|
|
|
|
-
|
|
message: '#^Using nullsafe property access "\?\-\>error" on left side of \?\? is unnecessary\. Use \-\> instead\.$#'
|
|
identifier: nullsafe.neverNull
|
|
count: 2
|
|
path: tests/Feature/Supplier/SupplierWebhookFastFailTest.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Access to an undefined property Pest\\Mixins\\Expectation\<mixed\>\:\:\$not\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: tests/Feature/WebhookSettingsControllerTest.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Services\\Autopodbor\\Agent\\Fetch\\YandexListSource\:\:\$calls\.$#'
|
|
identifier: property.notFound
|
|
count: 4
|
|
path: tests/Unit/Autopodbor/ChannelA/PlaywrightYandexDirectoryTest.php
|
|
|
|
-
|
|
message: '#^Offset ''slug'' does not exist on array\{name\: string, card_url\: string\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 1
|
|
path: tests/Unit/Autopodbor/ChannelA/PlaywrightYandexDirectoryTest.php
|
|
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Services\\Autopodbor\\Agent\\Fetch\\PageFetcher\:\:\$requested\.$#'
|
|
identifier: property.notFound
|
|
count: 2
|
|
path: tests/Unit/Autopodbor/CompetitorCardEnricherTest.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$value of function expect expects Illuminate\\Support\\Collection\<\(int\|string\), array\{number\: string, kind\: string, label\: string, url\: string\|null, office\: string\|null, tracker\: bool\}\>\|null, Illuminate\\Support\\Collection\<\(int\|string\), array\{number\: string, kind\: string, label\: string, url\: string\|null, office\: string\|null, tracker\: bool\}\> given\.$#'
|
|
identifier: argument.type
|
|
count: 4
|
|
path: tests/Unit/Autopodbor/Extract/CandidateBuilderTest.php
|
|
|
|
-
|
|
message: '#^Offset ''78432032533'' does not exist on array\<string, int\>\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 1
|
|
path: tests/Unit/Autopodbor/Extract/HtmlPhoneScannerTest.php
|
|
|
|
-
|
|
message: '#^Offset ''78432032533'' does not exist on array\<string, list\<string\>\>\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 2
|
|
path: tests/Unit/Autopodbor/Extract/HtmlPhoneScannerTest.php
|
|
|
|
-
|
|
message: '#^Offset ''78432452533'' does not exist on array\<string, list\<string\>\>\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 1
|
|
path: tests/Unit/Autopodbor/Extract/HtmlPhoneScannerTest.php
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$value of function expect expects Illuminate\\Support\\Collection\<\(int\|string\), array\{number\: string, kind\: string, label\: string, url\: string\|null, office\: string\|null, tracker\: bool\}\>\|null, Illuminate\\Support\\Collection\<\(int\|string\), array\{number\: string, kind\: string, label\: string, url\: string\|null, office\: string\|null, tracker\: bool\}\> given\.$#'
|
|
identifier: argument.type
|
|
count: 1
|
|
path: tests/Unit/Autopodbor/Extract/TextNumbersUnverifiedTest.php
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Access to an undefined property App\\Services\\Autopodbor\\Agent\\Fetch\\BatchPageFetcher\:\:\$batchCalls\.$#'
|
|
identifier: property.notFound
|
|
count: 3
|
|
path: tests/Unit/Autopodbor/Fetch/XfetchDirectoryFetcherTest.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$array \(list\<string\>\) of array_values is already a list, call has no effect\.$#'
|
|
identifier: arrayValues.list
|
|
count: 1
|
|
path: tests/Unit/Autopodbor/Fetch/XfetchDirectoryFetcherTest.php
|
|
|
|
-
|
|
message: '#^Access to an undefined property Pest\\Mixins\\Expectation\<mixed\>\:\:\$not\.$#'
|
|
identifier: property.notFound
|
|
count: 1
|
|
path: tests/Unit/Autopodbor/FindCompetitorsAssemblerTest.php
|
|
|
|
-
|
|
message: '#^Method App\\Services\\Autopodbor\\Agent\\Aggregator\\AggregatorClassifier@anonymous/tests/Unit/Autopodbor/FindCompetitorsAssemblerTest\.php\:94\:\:isAggregator\(\) never returns null so it can be removed from the return type\.$#'
|
|
identifier: return.unusedType
|
|
count: 1
|
|
path: tests/Unit/Autopodbor/FindCompetitorsAssemblerTest.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$value of function expect expects Illuminate\\Support\\Collection\<int, array\{name\: string, description\?\: string\|null, is_federal\?\: bool, relevance_pct\?\: int\|null, site_url\?\: string\|null, directory_urls\?\: array, provenance\?\: array\}\>\|null, Illuminate\\Support\\Collection\<int, array\{name\: string, description\?\: string\|null, is_federal\?\: bool, relevance_pct\?\: int\|null, site_url\?\: string\|null, directory_urls\?\: array, provenance\?\: array\}\> given\.$#'
|
|
identifier: argument.type
|
|
count: 1
|
|
path: tests/Unit/Autopodbor/LiveFindCompetitorsTest.php
|
|
|
|
-
|
|
message: '#^Offset ''is_federal'' does not exist on array\{name\: string, description\?\: string\|null, site_url\?\: string\|null, directory_urls\?\: array, provenance\?\: array\}\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 2
|
|
path: tests/Unit/Autopodbor/Resolve/ResolvingAgentTest.php
|
|
|
|
-
|
|
message: '#^Parameter \#4 \$anchorDigits of method App\\Services\\Autopodbor\\Agent\\Study\\AnchorGate\:\:cardKept\(\) expects array\<string, bool\>, array\<int, true\> given\.$#'
|
|
identifier: argument.type
|
|
count: 4
|
|
path: tests/Unit/Autopodbor/Study/AnchorGateTest.php
|
|
|
|
|
|
|
|
-
|
|
message: '#^Call to method PHPUnit\\Framework\\Assert\:\:assertTrue\(\) with true will always evaluate to true\.$#'
|
|
identifier: method.alreadyNarrowedType
|
|
count: 1
|
|
path: tests/Unit/ExampleTest.php
|
|
|
|
-
|
|
message: '#^Call to function property_exists\(\) with App\\Exceptions\\Billing\\InsufficientBalanceException and ''balanceLeads'' will always evaluate to false\.$#'
|
|
identifier: function.impossibleType
|
|
count: 1
|
|
path: tests/Unit/Exceptions/InsufficientBalanceExceptionTest.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method Mockery\\ExpectationInterface\|Mockery\\HigherOrderMessage\:\:andThrow\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: tests/Unit/External/SupplierBalanceProviderTest.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method Mockery\\ExpectationInterface\|Mockery\\HigherOrderMessage\:\:once\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 2
|
|
path: tests/Unit/External/SupplierBalanceProviderTest.php
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
message: '#^Call to an undefined method Mockery\\ExpectationInterface\|Mockery\\HigherOrderMessage\:\:andThrow\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: tests/Unit/Services/Project/ProjectServiceGuardWiringTest.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method Mockery\\ExpectationInterface\|Mockery\\HigherOrderMessage\:\:once\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 2
|
|
path: tests/Unit/Services/Project/ProjectServiceGuardWiringTest.php
|
|
|
|
-
|
|
message: '#^Call to method PHPUnit\\Framework\\Assert\:\:assertTrue\(\) with true will always evaluate to true\.$#'
|
|
identifier: method.alreadyNarrowedType
|
|
count: 4
|
|
path: tests/Unit/Services/Project/ProjectServiceGuardWiringTest.php
|
|
|
|
-
|
|
message: '#^Parameter \#2 \$snapshotGuard of class App\\Services\\Project\\ProjectService constructor expects App\\Services\\Project\\SupplierSnapshotGuard, Mockery\\MockInterface given\.$#'
|
|
identifier: argument.type
|
|
count: 4
|
|
path: tests/Unit/Services/Project/ProjectServiceGuardWiringTest.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method Mockery\\ExpectationInterface\|Mockery\\HigherOrderMessage\:\:with\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 2
|
|
path: tests/Unit/Services/Project/SupplierSnapshotGuardTest.php
|
|
|
|
-
|
|
message: '#^Call to method PHPUnit\\Framework\\Assert\:\:assertTrue\(\) with true will always evaluate to true\.$#'
|
|
identifier: method.alreadyNarrowedType
|
|
count: 2
|
|
path: tests/Unit/Services/Project/SupplierSnapshotGuardTest.php
|
|
|
|
-
|
|
message: '#^Property App\\Models\\IdeHelperProject\:\:\$paused_at \(Illuminate\\Support\\Carbon\|null\) does not accept Carbon\\CarbonImmutable\.$#'
|
|
identifier: assign.propertyType
|
|
count: 2
|
|
path: tests/Unit/Services/Project/SupplierSnapshotGuardTest.php
|
|
|
|
|
|
-
|
|
message: '#^Call to an undefined method App\\Services\\Supplier\\ProcessFactory\:\:shouldReceive\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: tests/Unit/Supplier/PlaywrightBridgeTest.php
|
|
|
|
-
|
|
message: '#^Parameter \#1 \$processFactory of class App\\Services\\Supplier\\PlaywrightBridge constructor expects App\\Services\\Supplier\\ProcessFactory, Mockery\\MockInterface given\.$#'
|
|
identifier: argument.type
|
|
count: 3
|
|
path: tests/Unit/Supplier/PlaywrightBridgeTest.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method App\\Services\\Supplier\\PlaywrightBridge\:\:shouldReceive\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 2
|
|
path: tests/Unit/Supplier/RefreshSupplierSessionJobTest.php
|
|
|
|
-
|
|
message: '#^Parameter \#4 \$activeLiderraProjects of static method App\\Services\\Supplier\\SupplierQuotaAllocator\:\:allocate\(\) expects Illuminate\\Support\\Collection\<int, stdClass\>, Illuminate\\Support\\Collection\<int, \(object\{daily_limit\: 5, workdays\: array\{1, 2, 3, 4, 5\}, regions\: array\{77, 50\}\}&stdClass\)\|\(object\{daily_limit\: 5, workdays\: array\{1, 2, 3, 4, 5\}, regions\: array\{50, 78\}\}&stdClass\)\> given\.$#'
|
|
identifier: argument.type
|
|
count: 1
|
|
path: tests/Unit/Supplier/SupplierQuotaAllocatorTest.php
|
|
|
|
-
|
|
message: '#^Parameter \#4 \$activeLiderraProjects of static method App\\Services\\Supplier\\SupplierQuotaAllocator\:\:allocate\(\) expects Illuminate\\Support\\Collection\<int, stdClass\>, Illuminate\\Support\\Collection\<int, \(object\{daily_limit\: 5, workdays\: array\{1, 2, 3\}, regions\: array\{\}\}&stdClass\)\|\(object\{daily_limit\: 5, workdays\: array\{3, 4, 5\}, regions\: array\{\}\}&stdClass\)\> given\.$#'
|
|
identifier: argument.type
|
|
count: 1
|
|
path: tests/Unit/Supplier/SupplierQuotaAllocatorTest.php
|
|
|
|
-
|
|
message: '#^Parameter \#4 \$activeLiderraProjects of static method App\\Services\\Supplier\\SupplierQuotaAllocator\:\:allocate\(\) expects Illuminate\\Support\\Collection\<int, stdClass\>, Illuminate\\Support\\Collection\<int, object\{daily_limit\: 10, workdays\: array\{6, 7\}, regions\: array\{\}\}&stdClass\> given\.$#'
|
|
identifier: argument.type
|
|
count: 1
|
|
path: tests/Unit/Supplier/SupplierQuotaAllocatorTest.php
|
|
|
|
-
|
|
message: '#^Offset ''adHeadline'' does not exist on string\.$#'
|
|
identifier: offsetAccess.notFound
|
|
count: 1
|
|
path: tests/Feature/ClientTg/AdHeadlineTest.php
|
|
|
|
-
|
|
message: '#^Call to an undefined method Mockery\\ExpectationInterface\|Mockery\\HigherOrderMessage\:\:andReturnUsing\(\)\.$#'
|
|
identifier: method.notFound
|
|
count: 1
|
|
path: tests/Feature/ClientTg/RunTelegramCampaignTransportTest.php
|