Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- describe '#total_price' do
- before(:each) do
- user = User.new(email: 'test1@example.com', password: 'test1234')
- price = 900
- @order = Order.new(user: user, total: price)
- end
- it 'does something' do
- @order.save
- expect(@order.total).to eql(900)
- end
- end
- 1) Order Instance Methods #total_price does something
- Failure/Error: expect(@order.total).to eql(900)
- expected: 900
- got: 0.0
- (compared using eql?)
- class Order < ApplicationRecord
- belongs_to :user, optional: true
- has_many :order_items
- before_save :update_total
- def total_price
- price = order_items.collect do |order_item|
- order_item.item_unit_price * order_item.quantity
- end
- price.sum
- end
- private
- def update_total
- self[:total] = total_price
- end
- end
- def total_price
- price = order_items.collect do |order_item|
- order_item.item_unit_price * order_item.quantity
- end
- price.sum
- end
- describe '#total_price' do
- before(:each) do
- user = User.new(email: 'test1@example.com', password: 'test1234')
- order = Order.new(user: user)
- order_item = OrderItem.new(order: order, item_unit_price: 100, quantity: 2)
- end
- it 'calculates order total' do
- expect(order.total_price).to eq(200)
- end
- end
Add Comment
Please, Sign In to add comment