1
describe 'salary acceptance email' do
let!(:effective_date) { Date.current.next_week }
let(:salary) { FactoryGirl.create(:salary) }
it 'displays admin selected effective_date', js: true do
page.visit approval_path(salary)
page.uncheck('default_effective_date')
select effective_date.year.to_s, from: 'offer_effective_date_date_1i'
select I18n.t("date.month_names")[effective_date.month] , from: 'offer_effective_date_date_2i'
select effective_date.day.to_s, from: 'offer_effective_date_date_3i'
click_on 'Accept'
#binding.pry or wait_for_ajax - hack to let the test pass
expect(mail.body).to include_in_each_part(salary.amount)
expect(mail.body).to include_in_each_part(effective_date.strftime('%Y-%m-%d'))
end
end
沒有在這部分代碼不同的是有其中隱藏/顯示EFFECTIVE_DATE date_select標籤一個JavaScript任何AJAX請求郵件程序真引起的延遲。 當我添加js:true到規格郵件[=> ActionMailer :: Base.deliveries .last]時返回nil,但如果允許測試等待一秒鐘或兩秒鐘,則可以正常工作。如何在沒有HACK的情況下解決這個問題! :(Rspec的護欄-水豚JS:在導致測試失敗
水豚版本:水豚(1.1.3)
的Webkit版本:水豚,WebKit的(0.13.0)