メモ:rspecで変更が無いことをテストする

自分用メモ

expect{hoge}.not_to change{fuga}

で変更が無いことをテストできる

Rank.get_rank_id では、パラメータによって次のランクが返却されるイメージ User#calc_rank!では、Rank.get_rank_id を呼び出し、その結果をDBに保存するイメージ

require 'spec_helper'

describe User do
  describe '#calc_rank!' do
    let!(:user) { FactoryGirl.create(:user, rank_id: 2) }
    it do
      Rank.stub(:get_rank_id).and_return(2)
      expect{user.calc_rank!}.not_to change{User.find(user.id).rank_id}
    end
  end
end