тестирование: reject_if в anaf

У меня есть модель пользователя

class User < ActiveRecord::Base
  has_many :languages, :dependent => :destroy
  accepts_nested_attributes_for :languages,   :reject_if => lambda { |l| l[:name].blank? }
end

Я хочу протестировать часть reject_if с помощью RSpec 2.0.0. В настоящее время у меня есть два простых тестовых примера для этого

  it "should not save language without name by accepts_nested_attributes" do
    lambda {
      @user.update_attributes!("languages_attributes"=>{"0"=>{}})
    }.should_not change(Language, :count)
  end

  it "should save language with name by accepts_nested_attributes" do
    lambda {
      @user.update_attributes!("languages_attributes"=>{"0"=>{"name"=>"lang_name"}})
    }.should change(Language, :count).by(1)
  end

Однако я новичок в тестировании, и это выглядит действительно странно, imho. Интересно, правильный ли это способ проверить reject_if? А есть ли способ сделать это лучше?

6
задан Tadas Tamosauskas 13 December 2010 в 21:49
поделиться