Ваше приложение вызывает контроллер, а контроллер откуда-то извлекает @members (возможно, модель?), Оно не использует назначенное вами значение.Вы должны указать ему использовать свое значение, а не то, что оно получит естественным образом, это делается с помощью заглушки.Это также должно произойти до вызова страницы.
let!(:members) do
[{ name: "Super Grover", title: "Hero" }]
end
it 'does things' do
allow(Member).to receive(:all).and_return(members)
visit "/the_page"
expect(page).to have_content "Super Grover”
expect(page).to have_content "Hero"
end
Примечание: если вы не звоните Member.all
, вам нужно заменить :all
на то, что вы звоните.
В качестве альтернативы, если ваши участники вызываются контроллеромметод, такой как «get_random_members», вы можете сделать это вместо:
allow_any_instance_of(MembersController).to receive(:get_random_members).and_return(members)