mr. 
    
    
        
        
        
        На выходных таки разобрался с вебпаком, не страшно это)
    
 
    
    mr. 
    
    
        
        
        
        Хелп. как фикстуры загружать? Обязательно тащить yii2-codeception?
    
 
    
    Лёша 
    
    
        
        
        
        нет
    
 
    
    Ivan 
    
    
 
    
    Лёша 
    
    
        
        
        
        php yii fixture/load '*' —namespace='tests\fixtures' —interactive=0
    
 
    
    mr. 
    
    
        
        
        
        [yii\base\InvalidConfigException] Failed to instantiate component or class "db".
    
 
    
    mr. 
    
    
        
        
        
        Блин, целая эпопея тесты запустить
    
 
    
    Ivan 
    
    
        
        
        
        согласен
    
 
    
    Ivan 
    
    
 
    
    Лёша 
    
    
        
        
        
        Для тестов API достаточно phpunit тестов
    
 
    
    Лёша 
    
    
        
        
        
        codeception по моему это уже перебор
    
 
    
    mr. 
    
    
 
    
    mr. 
    
    
        
        
        
        Я наркоман, видимо.
    
 
    
    Лёша 
    
    
        
        
        
        Миссия знает толк в изващениях ))
    
 
    
    mr. 
    
    
 
    
    mr. 
    
    
        
        
        
        Еле как прикрутил
    
 
    
    mr. 
    
    
        
        
        
        А теперь ОНИ НЕ НУЖНЫ
    
 
    
    mr. 
    
    
 
    
    Лёша 
    
    
        
        
        
        В public нет. Но в рабочих есть )
    
 
    
    mr. 
    
    
        
        
        
        
    
 
    
    mr. 
    
    
        
        
        
        ^^^ мои эмоции после запуска кодцепшена
    
 
    
    mr. 
    
    
        
        
        
        Окей, теперь надо подумать как абстрогировать слой АПИ от слоя с железом. И в правду, тесты заставляют думать по другому в плане архитектуры.
    
 
    
    mr. 
    
    
        
        
        
        Как пост запросы отсылать в функциональном тесте?
    
 
    
    Лёша 
    
    
        
        
        
        скорее тесты добавляют немного строгости по отнашении к коду
    
 
    
    Borys 
    
    
        
        
        
        Привет всем.
    
 
    
    Borys 
    
    
        
        
        
        Подскажите, может есть готовый валидатор на проверку старого пароля?
    
 
    
    Borys 
    
    
        
        
        
        Делается элементарно, это ясно, но смысл писать если уже есть готовый)
    
 
    
    mr. 
    
    
 
    
    mr. 
    
    
        
        
        
        Если хеш нового !== хеш старого то лучше и проще свой написать, анонимкой, например
    
 
    
    mr. 
    
    
 
    
    mr. 
    
    
        
        
        
        compare подходит?
    
 
    
    Borys 
    
    
        
        
        
        думаю подойдет
    
 
    
    andrew 
    
    
 
    
    Павел 
    
    
 
    
    andrew 
    
    
 
    
    Никита 
    
    
        
                    
                        
                            
                            Соль вроде не рандомная.
                        
                    
                
        
        
        если соль статичная, её можно хранить в настройках. Если рандомная, то в БД для каждого пароля своя соль. Так надёжнее
    
 
 
    
    Павел 
    
    
        
        
        
        В БД в таблице users не хранится соль, поэтому я и думаю что соль не рандомная
    
 
    
    andrew 
    
    
        
        
        
        Соль хранится в хэше. Часть где доллары, по идее
    
 
    
    andrew 
    
    
        
        
        
        Только у меня она одинаковая.  А хэши разные
    
 
    
    andrew 
    
    
        
        
        
        Для одинаковых пассов
    
 
    
    andrew 
    
    
        
        
        
        Не, эт не соль
    
 
    
    Павел 
    
    
        
        
        
        Используешь yii2-user?
    
 
    
    andrew 
    
    
        
        
        
        А нет
    
 
    
    andrew 
    
    
        
        
        
        Соль
    
 
    
    andrew 
    
    
        
        
        
        😁
    
 
    
    andrew 
    
    
        
        
        
        Там функция generateSalt
    
 
    
    andrew 
    
    
        
        
        
        Рандомную соль генерит
    
 
    
    andrew 
    
    
        
        
        
        В Security
    
 
    
    Павел 
    
    
        
        
        
        Тоды соль надо в БД пихать тебе
    
 
    
    andrew 
    
    
        
        
        
        Соль и так в бд
    
 
    
    Павел 
    
    
        
        
        
        По другому никак не сравнить иначе
    
 
    
    Павел 
    
    
        
        
        
        Да? Вроде в таблице пользователей ее нет. Ошибаюсь?
    
 
    
    andrew 
    
    
        
        
        
        $2у$соль$хэш
    
 
    
    andrew 
    
    
        
        
        
        Как то так
    
 
    
    Руслан 
    
    
        
        
        
        подскажите, сталкивался кто мб. храним в params массив чисел. при попытке достать его через \Yii::$app->params['нужный параметр с массивом'] получаем задубленный массив. это так должно работать?)
    
 
    
    Павел 
    
    
        
                    
                        
                            
                            $2у$соль$хэш
                        
                    
                
        
        
        Тогда валидация компаре и анонимная функция для вычисления хеша нового пароля со старой солью
    
 
 
    
    Руслан 
    
    
 
    
    andrew 
    
    
 
    
    Павел 
    
    
        
        
        
        Я в Sequrity->passwordHash() можно свою соль подставить?
    
 
    
    andrew 
    
    
        
        
        
        Вторым параметром вродь и то только размер соли
    
 
    
    andrew 
    
    
        
        
        
        А не саму соль
    
 
    
    SiZE 
    
    
        
        
        
        а в документации наверное удалили эту инфу :D
    
 
    
    andrew 
    
    
        
        
        
        А если надо проверить совпадение паролей, то security->validatePassword
    
 
    
    andrew 
    
    
 
    
    Borys 
    
    
        
        
        
        thanks
    
 
    
    mr. 
    
    
        
        
        
        Ребят, у меня стул прогорел.
    
 
    
    mr. 
    
    
        
        
        
        Сделал UserFixture
    
 
    
    mr. 
    
    
        
        
        
        Загрузил
    
 
    
    mr. 
    
    
        
        
        
        /** @var User $user */
        $user = $I->grabFixture('user', 'user_without_balance');
        $I->sendPOST('stubs/handler_api.php', [
            'api_key' => $user->access_token,
            'action' => 'getNumbersStatus',
        ]);
    
 
    
    mr. 
    
    
        
        
        
                                                                                                                                                                                                                                                                                 
          [yii\db\Exception (25)]                                                                                                                                                                                                                                                 
          SQLSTATE[25P02]: In failed sql transaction: 7 ERROR:  current transaction is aborted, commands ignored until end of transaction block                                                                                                                                   
          The SQL being executed was: ALTER TABLE "public"."auth_assignment" DISABLE TRIGGER ALL; ALTER TABLE "public"."auth_item" DISABLE TRIGGER ALL; ALTER TABLE "public"."auth_item_child" DISABLE TRIGGER ALL; ALTER TABLE "public"."auth_rule" DISABLE TRIGGER ALL; ALTER   
          TABLE "public"."buffer" DISABLE TRIGGER ALL; ALTER TABLE "public"."device_settings" DISABLE TRIGGER ALL; A ......
    
 
    
    mr. 
    
    
 
    
    mr.