]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Правки по ревью
authorVladimir Fomichev <vladimir.fomichev@erp-flowers.ru>
Tue, 27 Jan 2026 07:41:35 +0000 (10:41 +0300)
committerVladimir Fomichev <vladimir.fomichev@erp-flowers.ru>
Tue, 27 Jan 2026 07:41:35 +0000 (10:41 +0300)
erp24/tests/unit/services/OrderControlReportServiceNotificationTest.php

index 977c75f91f88764f22a6ece60a5dfbc67af792d6..96c7dcd74db33e9f356eafcc2a97c5c17d2a20f9 100644 (file)
@@ -182,31 +182,58 @@ class OrderControlReportServiceNotificationTest extends Unit
     /**
      * Тест: проверка логики выбора бота в зависимости от окружения
      *
-     * Проверяет, что используются правильные константы для dev и prod
+     * Проверяет, что токены берутся из переменных окружения TELEGRAM_BOT_TOKEN / TELEGRAM_BOT_TOKEN_PROD
      */
     public function testTelegramBotTokenSelectionLogic(): void
     {
         $reflection = new \ReflectionClass($this->service);
-        
-        // Ð\9fÑ\80овеÑ\80Ñ\8fем Ð½Ð°Ð»Ð¸Ñ\87ие ÐºÐ¾Ð½Ñ\81Ñ\82анÑ\82 Ð´Ð»Ñ\8f Ñ\82окенов Ð±Ð¾Ñ\82ов
-        $this->assertTrue(
+
+        // Ð\9aлаÑ\81Ñ\81 Ð\9dÐ\95 Ð´Ð¾Ð»Ð¶ÐµÐ½ Ñ\81одеÑ\80жаÑ\82Ñ\8c Ð·Ð°Ñ\85аÑ\80дкоженнÑ\8bе ÐºÐ¾Ð½Ñ\81Ñ\82анÑ\82Ñ\8b Ñ\82окенов
+        $this->assertFalse(
             $reflection->hasConstant('TELEGRAM_BOT_DEV'),
-            'Ð\9aонÑ\81Ñ\82анÑ\82а TELEGRAM_BOT_DEV Ð´Ð¾Ð»Ð¶Ð½Ð° Ñ\81Ñ\83Ñ\89еÑ\81Ñ\82воваÑ\82Ñ\8c'
+            'ТокенÑ\8b Ð½Ðµ Ð´Ð¾Ð»Ð¶Ð½Ñ\8b Ñ\85Ñ\80аниÑ\82Ñ\8cÑ\81Ñ\8f Ð² ÐºÐ¾Ð½Ñ\81Ñ\82анÑ\82аÑ\85 ÐºÐ»Ð°Ñ\81Ñ\81а'
         );
-        
-        $this->assertTrue(
+        $this->assertFalse(
             $reflection->hasConstant('TELEGRAM_BOT_PROD'),
-            'Ð\9aонÑ\81Ñ\82анÑ\82а TELEGRAM_BOT_PROD Ð´Ð¾Ð»Ð¶Ð½Ð° Ñ\81Ñ\83Ñ\89еÑ\81Ñ\82воваÑ\82Ñ\8c'
+            'ТокенÑ\8b Ð½Ðµ Ð´Ð¾Ð»Ð¶Ð½Ñ\8b Ñ\85Ñ\80аниÑ\82Ñ\8cÑ\81Ñ\8f Ð² ÐºÐ¾Ð½Ñ\81Ñ\82анÑ\82аÑ\85 ÐºÐ»Ð°Ñ\81Ñ\81а'
         );
 
-        $devToken = $reflection->getConstant('TELEGRAM_BOT_DEV');
-        $prodToken = $reflection->getConstant('TELEGRAM_BOT_PROD');
+        // Сохраняем текущие значения окружения
+        $origToken = getenv('TELEGRAM_BOT_TOKEN');
+        $origTokenProd = getenv('TELEGRAM_BOT_TOKEN_PROD');
 
-        $this->assertIsString($devToken);
-        $this->assertIsString($prodToken);
-        $this->assertNotEmpty($devToken);
-        $this->assertNotEmpty($prodToken);
-        $this->assertNotSame($devToken, $prodToken, 'Dev и Prod токены должны отличаться');
+        $testDevToken = '111111:AAFakeDevTokenForTest';
+        $testProdToken = '222222:AAFakeProdTokenForTest';
+
+        try {
+            putenv("TELEGRAM_BOT_TOKEN={$testDevToken}");
+            putenv("TELEGRAM_BOT_TOKEN_PROD={$testProdToken}");
+
+            $method = $reflection->getMethod('getTelegramBotToken');
+            $method->setAccessible(true);
+
+            $token = $method->invoke($this->service);
+
+            // Проверяем, что возвращается один из установленных тестовых токенов
+            $this->assertContains($token, [$testDevToken, $testProdToken],
+                'getTelegramBotToken должен возвращать значение из TELEGRAM_BOT_TOKEN или TELEGRAM_BOT_TOKEN_PROD'
+            );
+
+            // Dev и prod токены различаются
+            $this->assertNotSame($testDevToken, $testProdToken);
+        } finally {
+            // Восстанавливаем переменные окружения
+            if ($origToken !== false) {
+                putenv("TELEGRAM_BOT_TOKEN={$origToken}");
+            } else {
+                putenv('TELEGRAM_BOT_TOKEN');
+            }
+            if ($origTokenProd !== false) {
+                putenv("TELEGRAM_BOT_TOKEN_PROD={$origTokenProd}");
+            } else {
+                putenv('TELEGRAM_BOT_TOKEN_PROD');
+            }
+        }
     }
 
     /**