41 lines
1.5 KiB
Ruby
41 lines
1.5 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe Supplier::Counters do
|
|
describe '.reset_counters!' do
|
|
it 'sets the counters to the right values for all suppliers' do
|
|
supplier1 = create :supplier
|
|
supplier2 = create :supplier
|
|
create_list :order, 2, :placed, supplier: supplier1
|
|
create_list :order, 7, :active, supplier: supplier1
|
|
create_list :order, 3, :placed, supplier: supplier2
|
|
Supplier.reset_counters!
|
|
supplier1.orders_placed_count.should == 2
|
|
supplier1.orders_in_process_count.should == 7
|
|
supplier2.orders_placed_count.should == 3
|
|
end
|
|
|
|
# it 'cleans counter values if orders are no longer available', broken: defined?($cb) do
|
|
# old_connection = Mozo::Counter.connection
|
|
# # this spec should run on the couchbase database
|
|
# Mozo::Counter.connection = $cb
|
|
# supplier = create :supplier
|
|
# Mozo::Counter.set "supplier_counter:#{supplier.id}:orders_placed", 9
|
|
# supplier.orders_placed_count.should == 9
|
|
# Supplier.reset_counters!
|
|
# sleep 1
|
|
# supplier.orders_placed_count.should == 0
|
|
# Mozo::Counter.connection = old_connection
|
|
# end
|
|
#
|
|
it 'sets the counters to the right values for one supplier' do
|
|
supplier = create :supplier
|
|
create_list :order, 5, :placed, supplier: supplier
|
|
create_list :order, 9, :active, supplier: supplier
|
|
supplier.reset_counters!
|
|
supplier.orders_placed_count.should == 5
|
|
supplier.orders_in_process_count.should == 9
|
|
end
|
|
end
|
|
|
|
end
|