Test caches

This commit is contained in:
Ilion Beyst 2015-09-08 14:00:11 +02:00
parent ae049d523e
commit 22d3e0c617
5 changed files with 28 additions and 6 deletions

View File

@ -11,7 +11,6 @@
FactoryGirl.define do
factory :client do
name {{ Faker::Lorem.word }}
name { Faker::Lorem.word }
end
end

View File

@ -14,8 +14,8 @@
FactoryGirl.define do
factory :transaction do
debtor
creditor
association :debtor, factory: :user
association :creditor, factory: :user
amount { rand(100) }
origin 'FactoryGirl'
message { Faker::Lorem.sentence }

View File

@ -15,5 +15,24 @@
require 'rails_helper'
RSpec.describe Transaction, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
it "has a valid factory" do
expect(create(:transaction)).to be_valid
end
describe "cache" do
before :each do
@user = create(:user)
end
it "should update creditor cache" do
trans = build(:transaction, creditor: @user, amount: 10)
expect {trans.save!}.to change {@user.balance}.by(10)
end
it "should update debtor cache" do
trans = build(:transaction, debtor: @user, amount: 10)
expect {trans.save!}.to change {@user.balance}.by(-10)
end
end
end

View File

@ -13,5 +13,7 @@
require 'rails_helper'
RSpec.describe User, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
it "has a valid factory" do
expect(create(:user)).to be_valid
end
end

View File

@ -16,7 +16,9 @@
# users commonly want.
#
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
require 'factory_girl'
RSpec.configure do |config|
config.include FactoryGirl::Syntax::Methods
# rspec-expectations config goes here. You can use an alternate
# assertion/expectation library such as wrong or the stdlib/minitest
# assertions if you prefer.