Почему этот тест в приложении диаспоры не проходит? - PullRequest
0 голосов
/ 24 сентября 2010

С http://github.com/diaspora/diaspora/blob/master/spec/models/profile_spec.rb

describe Profile do
  before do
    @person = Factory.build(:person)
  end

  describe 'requirements' do
    it "should include a first name" do
      @person.profile = Factory.build(:profile,:first_name => nil)
      @person.profile.valid?.should be false
      @person.profile.first_name = "Bob"
      @person.profile.valid?.should be true
    end   
  end
end

Но в http://github.com/diaspora/diaspora/blob/master/app/models/profile.rb подтверждается наличие как имени, так и фамилии, например validates_presence_of :first_name, :last_name

ПочемуВы прошли тестовый проход, хотя фамилия не указана?

Ответы [ 2 ]

1 голос
/ 24 сентября 2010

last_name фактически указано. Профиль создается с использованием Factory.build, который возвращает предопределенный макет :profile, то есть

Factory.define :profile do |p|
  p.first_name "Robert"
  p.last_name "Grimm"
end
0 голосов
/ 24 сентября 2010

Я подозреваю, что вызов Factory.build(:profile, ...) создает модель профиля с установленными по умолчанию first_name и last_name, если не указано иное (:first_name => nil в этом примере).

Тем не менее, это всего лишь обоснованное предположение, которое я понял из приведенного выше кода и что я вижу здесь .

...