tap/spec/models/order_spec.rb

46 lines
1,022 B
Ruby
Raw Normal View History

# == Schema Information
#
# Table name: orders
#
# id :integer not null, primary key
# user_id :integer
# price_cents :integer
# created_at :datetime not null
# updated_at :datetime not null
# cancelled :boolean default("f")
#
describe Order do
before :each do
2015-09-03 08:08:17 +00:00
@user = create :user
@order = create :order, user: @user
end
it 'has a valid factory' do
expect(@order).to be_valid
end
2015-09-03 08:08:17 +00:00
describe 'cancelling' do
it 'should cancel the order' do
@order.cancel
expect(@order.cancelled).to be true
end
it 'should not happen twice' do
@order.cancel
expect(@order.cancel).to be false
end
it 'should not work on old orders' do
order = create :order, created_at: 3.days.ago
expect(order.cancel).to be false
end
it 'should change the orders_count' do
expect(@user.reload.orders_count).to eq(1)
@order.cancel
expect(@user.reload.orders_count).to eq(0)
end
end
end