Как проверить пользовательское правило проверки в Laravel 5.8

Как общее решение для установки пакетов Python с бинарными зависимостями [1] на Debian / Ubuntu:

sudo apt-get build-dep python-ldap
# installs system dependencies (but not the package itself)
pew workon my_virtualenv # enter your virtualenv
pip install python-ldap

Вам нужно будет проверить имя вашего пакета Python на Ubuntu по сравнению с PyPI. В этом случае они одинаковы.

Очевидно, что это не работает, если пакет Python не находится в репозиториях Ubuntu.

[1] Я узнал этот трюк при попытке pip install matplotlib на Ubuntu.

0
задан Greg Ostry 30 March 2019 в 23:00
поделиться

1 ответ

Прежде чем использовать метод passes(), вам необходимо войти в систему, иначе auth()->user() будет нулевым. Вы можете сделать это, используя метод be($user) следующим образом:

/** @test */
public function current_password_must_be_valid()
{  
  $rule = new CurrentPassword();
  $user = factory(User::class)->create(['password' => '1234']);
  $this->be($user);
  $this->assertTrue($rule->passes('current_password','1234'), $user->password);
}

Также было бы целесообразно принять меры против значений null в вашем методе passes(), чтобы избежать ошибок. Если пользователь не вошел в систему, вероятно, он просто должен вернуть false.

0
ответ дан Lupinity Labs 30 March 2019 в 23:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: