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

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to