mirror of
https://github.com/apigy/selfstarter.git
synced 2026-01-09 14:27:55 -05:00
tested order count
This commit is contained in:
@@ -11,7 +11,7 @@ class Order < ActiveRecord::Base
|
||||
@order.name = options[:name]
|
||||
@order.user_id = options[:user_id]
|
||||
@order.price = options[:price]
|
||||
@order.number = Order.next_order_number || 1
|
||||
@order.number = Order.next_order_number
|
||||
@order.save!
|
||||
|
||||
@order
|
||||
@@ -38,7 +38,11 @@ class Order < ActiveRecord::Base
|
||||
end
|
||||
|
||||
def self.next_order_number
|
||||
Order.order("number DESC").limit(1).first.number.to_i + 1 if Order.count > 0
|
||||
if Order.count > 0
|
||||
Order.order("number DESC").limit(1).first.number.to_i + 1
|
||||
else
|
||||
1
|
||||
end
|
||||
end
|
||||
|
||||
def generate_uuid!
|
||||
|
||||
@@ -131,6 +131,33 @@ describe Order do
|
||||
|
||||
end
|
||||
|
||||
|
||||
describe ".next_order_number" do
|
||||
|
||||
it "gives the next number" do
|
||||
ActiveRecord::Relation.any_instance.stub(:first).and_return(stub( number: 1 ))
|
||||
Order.next_order_number.should == 2
|
||||
end
|
||||
|
||||
context "no orders" do
|
||||
|
||||
before do
|
||||
ActiveRecord::Relation.any_instance.stub(:first).and_return(nil)
|
||||
Order.stub!(:count).and_return(0)
|
||||
end
|
||||
|
||||
it "doesn't break if there's no orders" do
|
||||
expect { Order.next_order_number }.to_not raise_error
|
||||
end
|
||||
|
||||
it "returns 1 if there's no orders" do
|
||||
Order.next_order_number.should == 1
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user