У меня есть этот рабочий тест, который имеет 2 ожидания.Я хотел бы сделать его чище и иметь 1 ожидание на тест.проблема заключается в том, что первое ожидание должно быть выполнено до запуска программы, а второе - после.
context 'when user has invited over 3 users' do
let (:user) { create(:user_with_wallet) }
it 'sends slack and increases risk score' do
expect(Slack.client).to receive(:ping).once
4.times do
create(:user_invitation, email: Faker::Internet.email, sender: user)
end
expect(user.risk_matrix.score).to eq(RiskMatrix::INVITED_TOO_MANY_USERS )
end
end
Если я установлю бит 4.times
в блоке before
, тогда ожидание Slack
не удастся, если я установлю его в блоке after
, тогда произойдет сбой risk_matrix
.
Какой самый чистый способ сделать это?
Большое спасибо