Rails / Rspec / Factory girl: записи не ассоциируются? - PullRequest
0 голосов
/ 12 марта 2012

Вот мои фабрики:

FactoryGirl.define do
  factory :account do
    company 'Example, Inc.'
  end

  factory :site do
    association :account
  end

  factory :page do
    association :site
  end
end

И простой запрос спецификации:

require 'spec_helper'

describe "Pages" do

  before do
    @account = Factory(:account)
    @site = Factory(:site)
  end

  it "lets me create a new page" do
    visit account_site_pages_path(@account, @site)
    page.should have_content('New Page')
  end

end

Но я получаю этот сбой:

Failure/Error: visit account_site_pages_path(@account, @site)
ActiveRecord::RecordNotFound:
 Couldn't find Site with ID=51 [WHERE (`sites`.account_id = 127)]
# <internal:prelude>:10:in `synchronize'
# ./spec/requests/pages_spec.rb:19:in `block (2 levels) in <top (required)>'

Значение сайтаФабрика не связана с правильной учетной записью, верно?Я предполагаю, что упускаю что-то довольно очевидное: D

1 Ответ

0 голосов
/ 12 марта 2012

Ваши @account и @site не подключены, что, вероятно, является проблемой. Так же:

before do
  @account = Factory(:account)
  @site = Factory(:site, :account => @account)
end

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

...