Рефакторинг Rspec в единичных ожиданиях - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть этот рабочий тест, который имеет 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.

Какой самый чистый способ сделать это?

Большое спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...