Модульный тест для защищенного атрибута Rails - PullRequest
0 голосов
/ 27 марта 2012

Я работаю с Rails 3.2.2. И у меня есть разработанная модель под названием пользователь.

В моей пользовательской модели я установил:

attr_protected :is_admin

(is_admin - логический атрибут)

Для проверки этого свойства я сделал:

test "should not be able to change to admin" do
    user = User.create(:name => "Joaquim", :email => "example@test.com", :password => "123456", :is_admin => true)

    assert user.errors.get(:is_admin), "Cant change admin configuration"
end

Когда я запускаю тестовую ошибку повышения:

  1) Error:
test_should_not_be_able_to_change_to_admin(UserTest):
ActiveModel::MassAssignmentSecurity::Error: Can't mass-assign protected attributes: is_admin
    test/unit/user_test.rb:44:in `test_should_not_be_able_to_change_to_admin'

Какое утверждение я должен использовать для этого теста?

Спасибо!

1 Ответ

1 голос
/ 27 марта 2012

Вы можете использовать

assert_raise(ExceptionClass) { .... }

В rspec вы бы сделали

expect  { ... }.to raise_error(ExceptionClass)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...