Uvádím zde řešení cvičení k tutoriálu Ruby on Rails od Michaela Hartla – kapitola 7.7
Úloha 2 (Listing 7.32).
test "invalid signup information" do get signup_path assert_no_difference 'User.count' do post users_path, user: { name: "", email: "user@invalid", password: "foo", password_confirmation: "bar" } end assert_template 'users/new' assert_select 'div#error_explanation' assert_select 'div.alert' assert_select 'div.alert-danger' end
Kód příslušné třídy je obsažen v souboru views/shared/_error_messages.html.erb
. Funkčnost testu otestujeme pomocí příkazu bundle exec rake test
.
Úloha 3 (Listing 7.33).
test "valid signup information" do get signup_path assert_difference 'User.count', 1 do post_via_redirect users_path, user: { name: "Example User", email: "user@example.com", password: "password", password_confirmation: "password" } end assert_template 'users/show' assert_not flash.nil? end