From: Vladimir Fomichev Date: Tue, 20 Jan 2026 11:19:53 +0000 (+0300) Subject: Тесты и правки окружения X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=5255ddcad182dd3b50327388eb95b7036bfbaab9;p=erp24_rep%2Fyii-erp24%2F.git Тесты и правки окружения --- 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);