File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -55,6 +55,13 @@ def reactivate
5555 item . update! ( active : true )
5656 end
5757
58+ def update_value_in_cents
59+ kit_value_in_cents = line_items . includes ( :item ) . reduce ( 0 ) do |sum , line_item |
60+ sum + line_item . item . value_in_cents . to_i * line_item . quantity . to_i
61+ end
62+ update! ( value_in_cents : kit_value_in_cents )
63+ end
64+
5865 private
5966
6067 def at_least_one_item
Original file line number Diff line number Diff line change @@ -26,9 +26,6 @@ def call
2626 def update_kit_value
2727 return unless item . kit
2828
29- kit_value_in_cents = item . kit . items . reduce ( 0 ) do |sum , i |
30- sum + i . value_in_cents . to_i * item . kit . line_items . find_by ( item_id : i . id ) . quantity . to_i
31- end
32- item . kit . update! ( value_in_cents : kit_value_in_cents )
29+ item . kit . update_value_in_cents
3330 end
3431end
Original file line number Diff line number Diff line change @@ -43,11 +43,8 @@ def call
4343 unless item_creation_result . success?
4444 raise item_creation_result . error
4545 end
46- kit . items . update_all ( visible_to_partners : kit . visible_to_partners )
47- kit_value_in_cents = kit . items . reduce ( 0 ) do |sum , i |
48- sum + i . value_in_cents . to_i * kit . line_items . find_by ( item_id : i . id ) . quantity . to_i
49- end
50- kit . update! ( value_in_cents : kit_value_in_cents )
46+ kit . item . update ( visible_to_partners : kit . visible_to_partners )
47+ kit . update_value_in_cents
5148 rescue StandardError => e
5249 errors . add ( :base , e . message )
5350 raise ActiveRecord ::Rollback
Original file line number Diff line number Diff line change 88
99 let ( :kit ) { create ( :kit ) }
1010 let ( :item ) { create ( :item , kit : kit ) }
11- let ( :item2 ) { create ( :item , kit : kit ) }
11+ let ( :line_item ) { create ( :line_item , item : item , quantity : 1 ) }
1212 let ( :params ) do
1313 {
1414 name : "Updated Item Name" ,
1717 }
1818 end
1919 let ( :request_unit_ids ) { [ ] }
20- let ( :kit_value_in_cents ) do
21- kit . line_items . reduce ( 0 ) do |sum , li |
22- item = Item . find ( li . item_id )
23- sum + item . value_in_cents . to_i * li . quantity . to_i
24- end
20+
21+ before do
22+ kit . line_items = [ line_item ]
2523 end
2624
2725 context "params are ok" do
4240 it "updates the kit value_in_cents" do
4341 subject
4442 kit . reload
45- expect ( kit . value_in_cents ) . to eq ( kit_value_in_cents )
43+ expect ( kit . value_in_cents ) . to eq ( params [ :value_in_cents ] )
4644 end
4745 end
4846
You can’t perform that action at this time.
0 commit comments