Fix and implement supplier counters
This commit is contained in:
@@ -138,11 +138,11 @@ describe List do
|
||||
|
||||
expect{
|
||||
list.place_order(user, product.id => 3)
|
||||
}.to broadcast_to_user(user.id).message('orders_in_process_count').with(count: 2)
|
||||
}.to broadcast_to_user(user.id).message('orders_placed_count').with(count: 2)
|
||||
|
||||
expect{
|
||||
list.place_order(user, product.id => 5)
|
||||
}.to broadcast_to_supplier(supplier.id).message('orders_in_process_count').with(count: 3)
|
||||
}.to broadcast_to_supplier(supplier.id).message('orders_placed_count').with(count: 3)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
+14
-14
@@ -47,24 +47,24 @@ describe Order do
|
||||
describe 'counters' do
|
||||
before do
|
||||
# hack some initial values
|
||||
Qwaiter::Counter.set "supplier:#{supplier.id}:orders_in_process", 7
|
||||
Qwaiter::Counter.set "supplier:#{supplier.id}:orders_delivered", 9
|
||||
Qwaiter::Counter.set "supplier_counter:#{supplier.id}:orders_placed", 11
|
||||
Qwaiter::Counter.set "supplier_counter:#{supplier.id}:orders_in_process", 7
|
||||
end
|
||||
|
||||
it 'reduces the orders_in_process count and communicates it to user' do
|
||||
expect{ order.is_being_processed! }.to broadcast_to_user(user.id).message( 'orders_in_process_count' ).with(count: 6)
|
||||
it 'reduces the orders_placed count and communicates it to user' do
|
||||
expect{ order.is_being_processed! }.to broadcast_to_user(user.id).message( 'orders_placed_count' ).with(count: 10)
|
||||
end
|
||||
|
||||
it 'increases the orders_delivered count and communicates it to user' do
|
||||
expect{ order.is_being_processed! }.to broadcast_to_user(user.id).message( 'orders_delivered_count' ).with(count: 10)
|
||||
it 'increases the orders_in_process count and communicates it to user' do
|
||||
expect{ order.is_being_processed! }.to broadcast_to_user(user.id).message( 'orders_in_process_count' ).with(count: 8)
|
||||
end
|
||||
|
||||
it 'reduces the orders_in_process count and communicates it to supplier' do
|
||||
expect{ order.is_being_processed! }.to broadcast_to_supplier(supplier.id).message( 'orders_in_process_count' ).with(count: 6)
|
||||
it 'reduces the orders_placed count and communicates it to supplier' do
|
||||
expect{ order.is_being_processed! }.to broadcast_to_supplier(supplier.id).message( 'orders_placed_count' ).with(count: 10)
|
||||
end
|
||||
|
||||
it 'increases the orders_in_process count and communicates it to supplier' do
|
||||
expect{ order.is_being_processed! }.to broadcast_to_supplier(supplier.id).message( 'orders_delivered_count' ).with(count: 10)
|
||||
expect{ order.is_being_processed! }.to broadcast_to_supplier(supplier.id).message( 'orders_in_process_count' ).with(count: 8)
|
||||
end
|
||||
|
||||
end
|
||||
@@ -82,16 +82,16 @@ describe Order do
|
||||
describe 'counters' do
|
||||
before do
|
||||
# hack some initial values
|
||||
Qwaiter::Counter.set "supplier:#{supplier.id}:orders_in_process", 7
|
||||
Qwaiter::Counter.set "supplier:#{supplier.id}:orders_delivered", 9
|
||||
Qwaiter::Counter.set "supplier_counter:#{supplier.id}:orders_delivered", 11
|
||||
Qwaiter::Counter.set "supplier_counter:#{supplier.id}:orders_in_process", 7
|
||||
end
|
||||
|
||||
it 'decreases the orders_delivered count and communicates it to user' do
|
||||
expect{ order.is_delivered! }.to broadcast_to_user(user.id).message( 'orders_delivered_count' ).with(count: 8)
|
||||
it 'decreases the orders_in_process count and communicates it to user' do
|
||||
expect{ order.is_delivered! }.to broadcast_to_user(user.id).message( 'orders_in_process_count' ).with(count: 6)
|
||||
end
|
||||
|
||||
it 'decreases the orders_in_process count and communicates it to supplier' do
|
||||
expect{ order.is_delivered! }.to broadcast_to_supplier(supplier.id).message( 'orders_delivered_count' ).with(count: 8)
|
||||
expect{ order.is_delivered! }.to broadcast_to_supplier(supplier.id).message( 'orders_in_process_count' ).with(count: 6)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -11,9 +11,19 @@ describe Supplier do
|
||||
create_list :order, 7, :active, supplier: supplier1
|
||||
create_list :order, 3, :placed, supplier: supplier2
|
||||
Supplier.reset_counters!
|
||||
supplier1.orders_in_process_count.should == 2
|
||||
supplier1.orders_delivered_count.should == 7
|
||||
supplier2.orders_in_process_count.should == 3
|
||||
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' do
|
||||
# this spec should run on the couchbase database
|
||||
Qwaiter::Counter.connection = $cb
|
||||
supplier = create :supplier
|
||||
Qwaiter::Counter.set "supplier_counter:#{supplier.id}:orders_placed", 9
|
||||
supplier.orders_placed_count.should == 9
|
||||
Supplier.reset_counters!
|
||||
supplier.orders_placed_count.should == 0
|
||||
end
|
||||
end
|
||||
|
||||
@@ -23,8 +33,8 @@ describe Supplier do
|
||||
create_list :order, 5, :placed, supplier: supplier
|
||||
create_list :order, 9, :active, supplier: supplier
|
||||
supplier.reset_counters!
|
||||
supplier.orders_in_process_count.should == 5
|
||||
supplier.orders_delivered_count.should == 9
|
||||
supplier.orders_placed_count.should == 5
|
||||
supplier.orders_in_process_count.should == 9
|
||||
end
|
||||
end
|
||||
|
||||
@@ -83,10 +93,10 @@ describe Supplier do
|
||||
|
||||
end
|
||||
|
||||
describe '#decrement_orders_delivered_count!' do
|
||||
it 'decreases orders_delivered' do
|
||||
Qwaiter::Counter.set "supplier:#{supplier.id}:orders_delivered", 9
|
||||
supplier.decrement_orders_delivered_count!.should == 8
|
||||
describe '#decrement_orders_placed_count!' do
|
||||
it 'decreases orders_placed' do
|
||||
Qwaiter::Counter.set "supplier_counter:#{supplier.id}:orders_placed", 9
|
||||
supplier.decrement_orders_placed_count!.should == 8
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user