From 5255ddcad182dd3b50327388eb95b7036bfbaab9 Mon Sep 17 00:00:00 2001 From: Vladimir Fomichev Date: Tue, 20 Jan 2026 14:19:53 +0300 Subject: [PATCH] =?utf8?q?=D0=A2=D0=B5=D1=81=D1=82=D1=8B=20=D0=B8=20=D0=BF?= =?utf8?q?=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20=D0=BE=D0=BA=D1=80=D1=83=D0=B6?= =?utf8?q?=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- erp24/config/env.php | 29 ++++++++----- .../OrderControlReportServiceTest.php | 42 ++++++++++++------- 2 files changed, 46 insertions(+), 25 deletions(-) diff --git a/erp24/config/env.php b/erp24/config/env.php index a86dee18..a3c5057a 100644 --- a/erp24/config/env.php +++ b/erp24/config/env.php @@ -1,7 +1,23 @@ load(); // Обязательные переменные окружения @@ -19,17 +35,10 @@ try { $dotenv->ifPresent('DB_PORT')->isInteger(); $dotenv->ifPresent('DB_REMOTE_PORT')->isInteger(); - foreach ($_ENV as $key => $value) { - if (is_scalar($value)) { - putenv("$key=$value"); - } else { - Yii::warning("Переменная окружения $key имеет нескалярное значение и не может быть установлена через putenv"); - } - } } catch (\Dotenv\Exception\InvalidPathException $e) { putenv("APP_ENV=development"); - Yii::error('Файл .env не найден: ' . $e->getMessage()); + error_log('[ENV ERROR] Файл .env не найден: ' . $e->getMessage()); } catch (\Dotenv\Exception\ValidationException $e) { - Yii::error('Ошибка валидации .env: ' . $e->getMessage()); + error_log('[ENV ERROR] Ошибка валидации .env: ' . $e->getMessage()); throw $e; // Прекращаем выполнение при отсутствии обязательных переменных } diff --git a/erp24/tests/unit/services/OrderControlReportServiceTest.php b/erp24/tests/unit/services/OrderControlReportServiceTest.php index 28e2b657..305d13d8 100644 --- a/erp24/tests/unit/services/OrderControlReportServiceTest.php +++ b/erp24/tests/unit/services/OrderControlReportServiceTest.php @@ -150,18 +150,27 @@ class OrderControlReportServiceTest extends Unit { $result = new ControlReportResult(); - $result->hungInDelivery = [ - new OrderIssue(OrderIssue::TYPE_HUNG_IN_DELIVERY, 1, 'FW-1'), - ]; - $result->successNoCheck = [ - new OrderIssue(OrderIssue::TYPE_SUCCESS_NO_CHECK, 2, 'YM-2'), - ]; - $result->cancelNoProcess = [ - new OrderIssue(OrderIssue::TYPE_CANCEL_NO_PROCESS, 3, 'FW-3'), - ]; - $result->successMissingData = [ - new OrderIssue(OrderIssue::TYPE_SUCCESS_MISSING_DATA, 4, 'FW-4'), - ]; + $issue1 = new OrderIssue(OrderIssue::TYPE_HUNG_IN_DELIVERY, 1, 'FW-1'); + $issue1->mpStatus = 'В доставке'; + $issue1->rmkStatus = 'Курьеру'; + + $issue2 = new OrderIssue(OrderIssue::TYPE_SUCCESS_NO_CHECK, 2, 'YM-2'); + $issue2->mpStatus = 'Доставлен'; + $issue2->rmkStatus = 'Новый'; + + $issue3 = new OrderIssue(OrderIssue::TYPE_CANCEL_NO_PROCESS, 3, 'FW-3'); + $issue3->mpStatus = 'Отменён'; + $issue3->rmkStatus = 'Новый'; + + $issue4 = new OrderIssue(OrderIssue::TYPE_SUCCESS_MISSING_DATA, 4, 'FW-4'); + $issue4->mpStatus = 'Доставлен'; + $issue4->rmkStatus = 'Успех'; + $issue4->issueReason = 'no_seller_id'; + + $result->hungInDelivery = [$issue1]; + $result->successNoCheck = [$issue2]; + $result->cancelNoProcess = [$issue3]; + $result->successMissingData = [$issue4]; $result->calculateTotal(); $message = $this->service->formatTelegramControlReport($result); @@ -178,9 +187,12 @@ class OrderControlReportServiceTest extends Unit public function testFormatTelegramControlReportUsesCodeBlock(): void { $result = new ControlReportResult(); - $result->hungInDelivery = [ - new OrderIssue(OrderIssue::TYPE_HUNG_IN_DELIVERY, 1, 'FW-1'), - ]; + + $issue = new OrderIssue(OrderIssue::TYPE_HUNG_IN_DELIVERY, 1, 'FW-1'); + $issue->mpStatus = 'В доставке'; + $issue->rmkStatus = 'Курьеру'; + + $result->hungInDelivery = [$issue]; $result->calculateTotal(); $message = $this->service->formatTelegramControlReport($result); -- 2.39.5