|
|
@ -1,5 +1,38 @@ |
|
|
|
# frozen_string_literal: true |
|
|
|
|
|
|
|
require 'rails_helper' |
|
|
|
|
|
|
|
RSpec.describe AccountTagStat, type: :model do |
|
|
|
pending "add some examples to (or delete) #{__FILE__}" |
|
|
|
key = 'accounts_count' |
|
|
|
let(:account_tag_stat) { Fabricate(:tag).account_tag_stat } |
|
|
|
|
|
|
|
describe '#increment_count!' do |
|
|
|
it 'calls #update' do |
|
|
|
args = { key => account_tag_stat.public_send(key) + 1 } |
|
|
|
expect(account_tag_stat).to receive(:update).with(args) |
|
|
|
account_tag_stat.increment_count!(key) |
|
|
|
end |
|
|
|
|
|
|
|
it 'increments value by 1' do |
|
|
|
expect do |
|
|
|
account_tag_stat.increment_count!(key) |
|
|
|
end.to change { account_tag_stat.accounts_count }.by(1) |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
describe '#decrement_count!' do |
|
|
|
it 'calls #update' do |
|
|
|
args = { key => [account_tag_stat.public_send(key) - 1, 0].max } |
|
|
|
expect(account_tag_stat).to receive(:update).with(args) |
|
|
|
account_tag_stat.decrement_count!(key) |
|
|
|
end |
|
|
|
|
|
|
|
it 'decrements value by 1' do |
|
|
|
account_tag_stat.update(key => 1) |
|
|
|
|
|
|
|
expect do |
|
|
|
account_tag_stat.decrement_count!(key) |
|
|
|
end.to change { account_tag_stat.accounts_count }.by(-1) |
|
|
|
end |
|
|
|
end |
|
|
|
end |