hey guys:
I met a very strange problem when testing a CallBack in model.
I think the codes are very straightforward.
model:
class Download < ActiveRecord::Base
belongs_to :user
belongs_to :drink
after_create :add_download_count
def add_download_count
drink = Drink.find(self.drink_id)
drink.download_count += 1
drink.save
end
end
test:
require ‘test_helper’
class DownloadTest < ActiveSupport::TestCase
Replace this with your real tests.
def setup
@drink = drinks(:one)
@user = users(:quentin)
end
test “the download count should increase when some one download a
drink” do
old_download_count = @drink.download_count
puts @drink.download_count
d = Download.new(:drink_id => @drink.id, :user_id => @user.id,
:stars => 5)
assert d.save
assert_equal old_download_count + 1, @drink.reload.download_count
end
end
But the test is always because the last assert.
the @drink’s download_count is not increase…
<6> expected but was
<5>.
This problem really make me crazy…
Hope you guys can give me some help
thanks a lot…
Terry