Rails - тестирование моделей с помощью MiniTest и Devise Gem - PullRequest
0 голосов
/ 05 ноября 2018

Я пытаюсь протестировать модель пользователя, для которой у меня есть аутентификация Devise. Но у меня есть сбой:

Ошибка: UserTest # test_should_be_valid [/home/nikki/Documents/TheHackingProject/week06/monday/the_private_club/test/models/user_test.rb:12]: Ожидаемое ложное будет правдой.

Это мой файл user_test.rb:

require 'test_helper'

class UserTest < ActiveSupport::TestCase
  def setup
    @user = User.create(
      first_name: 'Marge',
      last_name: 'Simpson',
      email: 'marge@simpson.com'
      )
  end

  test 'should be valid' do
    assert @user.valid?
  end

  test 'first name cant be blank' do
    @user.first_name = ""
    assert_not @user.valid?
  end

  test 'last name cant be blank' do
    @user.last_name = ""
    assert_not @user.valid?
  end
end

А это мой файл schema.rb:

ActiveRecord::Schema.define(version: 2018_11_05_115404) do

  # These are extensions that must be enabled in order to support this database
  enable_extension "plpgsql"

  create_table "users", force: :cascade do |t|
    t.string "email", default: "", null: false
    t.string "encrypted_password", default: "", null: false
    t.string "reset_password_token"
    t.datetime "reset_password_sent_at"
    t.datetime "remember_created_at"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "first_name"
    t.string "last_name"
    t.index ["email"], name: "index_users_on_email", unique: true
    t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true
  end

end

Кроме того, я не понимаю, как я могу проверить пароль, который зашифрован?

...