mr.
На выходных таки разобрался с вебпаком, не страшно это)
mr.
Хелп. как фикстуры загружать? Обязательно тащить yii2-codeception?
Лёша
нет
Лёша
php yii fixture/load '*' —namespace='tests\fixtures' —interactive=0
mr.
php yii fixture/load '*' —namespace='tests\fixtures' —interactive=0
class ApiCest { public function _before(FunctionalTester $I) { $I->haveFixtures([ 'sim' => [ 'class' => \UserFixture::class, 'dataFile' => codecept_data_dir('fixtures') . 'user.php' ], ]); }
mr.
[yii\base\InvalidConfigException] Failed to instantiate component or class "db".
mr.
Блин, целая эпопея тесты запустить
Ivan
согласен
Ivan
[yii\base\InvalidConfigException] Failed to instantiate component or class "db".
это у тебя в конфигах для теста не прописан db
Лёша
Для тестов API достаточно phpunit тестов
Лёша
codeception по моему это уже перебор
mr.
codeception по моему это уже перебор
Мне надо в БД проверять все ли ок после вызова метода апи
Лёша
Мне надо в БД проверять все ли ок после вызова метода апи
Это понятно, но не тянуть же для этого codeception и fixtures Можно ведь просто сходить в БД через Query или ActiveRecord модель.
mr.
mr.
Я наркоман, видимо.
Лёша
Миссия знает толк в изващениях ))
mr.
Миссия знает толк в изващениях ))
Я нубас, сказали возми кодцепшн и фикстуры - я взял.
mr.
Еле как прикрутил
mr.
А теперь ОНИ НЕ НУЖНЫ
mr.
Лёша
В public нет. Но в рабочих есть )
mr.
mr.
^^^ мои эмоции после запуска кодцепшена
mr.
Окей, теперь надо подумать как абстрогировать слой АПИ от слоя с железом. И в правду, тесты заставляют думать по другому в плане архитектуры.
mr.
Как пост запросы отсылать в функциональном тесте?
Лёша
скорее тесты добавляют немного строгости по отнашении к коду
Borys
Привет всем.
Borys
Подскажите, может есть готовый валидатор на проверку старого пароля?
Borys
Делается элементарно, это ясно, но смысл писать если уже есть готовый)
mr.
Подскажите, может есть готовый валидатор на проверку старого пароля?
Что конкретно проверять? Дефолтный есть equal или как-то так.
mr.
Если хеш нового !== хеш старого то лучше и проще свой написать, анонимкой, например
Borys
Что конкретно проверять? Дефолтный есть equal или как-то так.
Форма смены пароля пользователем. 3 поля 1. Старый пароль 2. Новый 3. Подтверждение if ($oldPassword !== $currentPassword) { return false }
mr.
compare подходит?
Borys
думаю подойдет
mr.
скорее тесты добавляют немного строгости по отнашении к коду
Слушай, раз ты тут. Я чет settings не могу подцепить в тестах.
Никита
Соль вроде не рандомная.
если соль статичная, её можно хранить в настройках. Если рандомная, то в БД для каждого пароля своя соль. Так надёжнее
Павел
В БД в таблице users не хранится соль, поэтому я и думаю что соль не рандомная
andrew
Соль хранится в хэше. Часть где доллары, по идее
andrew
Только у меня она одинаковая. А хэши разные
andrew
Для одинаковых пассов
andrew
Не, эт не соль
Павел
Используешь yii2-user?
andrew
А нет
andrew
Соль
andrew
😁
andrew
Там функция generateSalt
andrew
Рандомную соль генерит
andrew
В Security
Павел
Тоды соль надо в БД пихать тебе
andrew
Соль и так в бд
Павел
По другому никак не сравнить иначе
Павел
Да? Вроде в таблице пользователей ее нет. Ошибаюсь?
andrew
$2у$соль$хэш
andrew
Как то так
Руслан
подскажите, сталкивался кто мб. храним в params массив чисел. при попытке достать его через \Yii::$app->params['нужный параметр с массивом'] получаем задубленный массив. это так должно работать?)
Павел
$2у$соль$хэш
Тогда валидация компаре и анонимная функция для вычисления хеша нового пароля со старой солью
Павел
Я в Sequrity->passwordHash() можно свою соль подставить?
andrew
Вторым параметром вродь и то только размер соли
andrew
А не саму соль
SiZE
а в документации наверное удалили эту инфу :D
andrew
А если надо проверить совпадение паролей, то security->validatePassword
Borys
А если надо проверить совпадение паролей, то security->validatePassword
т.е. Yii::$app->getSecurity()->validatePassword($password, $hash) вместо $this->_old_password !== Yii::$app->security->generatePasswordHash($this->password)
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 ......
Vadim
Ща МК придет расскажет
А кто такой МК? Просто он не пришел :)
mr.
Подскажите, в yii2-sphinx есть возможность составлять мульти-запросы?
Есть, в доке написано. Что конкретно интересует?