我有两个 Mongoid 模型:User 和 EmailAccounts。后者嵌入在 User 模型中。该配置应该没问题,因为它通常可以工作。现在我正在尝试为我的用户编辑表单编写一个集成测试,如下所示:
describe 'Add EmailAccount' do
it 'Adds an email account', js: true do
user = FactoryGirl.create(:user_without_email_accounts)
visit edit_user_path(user)
expect{
click_link 'New Email Account'
within '.nested-fields' do
fill_in 'Account Name', with: 'New Email Account'
fill_in 'Other Field', with: 'Other Data'
end
click_button 'Save'
}.to change(EmailAccount, :count).by(1)
end
end
因为 EmailAccount 是一个嵌入式模型,所以计数的变化总是 0。我可以以任何类似的方式检查 EmailAccount 计数器的变化吗?还是我必须走不同的路?这也不起作用:
}.to change(user.email_accounts, :count).by(1)