Commit 3ea15ef

mo khan <mo@mokhan.ca>
2017-02-18 18:10:08
add spec for to_line_chart.
1 parent 7e8e3ba
Changed files (2)
app
spec
app/models/workout.rb
@@ -15,7 +15,7 @@ class Workout < ApplicationRecord
     joins(:exercises).where(exercises: { id: exercise.id }).distinct
   end
   scope :to_line_chart, -> do
-    group(:occurred_at).recent.maximum(:target_weight)
+    joins(:exercise_sets).group(:occurred_at).recent.maximum(:target_weight)
   end
 
   def train(exercise, target_weight, repetitions:, set: nil)
spec/models/workout_spec.rb
@@ -110,4 +110,19 @@ describe Workout, type: :model do
       expect(subject.since(2.days.ago)).to match_array([wednesday])
     end
   end
+
+  describe ".to_line_chart" do
+    let(:routine) { subject.routine }
+    let(:squat) { create(:exercise) }
+
+    it 'returns a single series' do
+      routine.add_exercise(squat)
+      subject.train(squat, 315, repetitions: 5)
+      subject.reload
+
+      expect(described_class.to_line_chart).to eql({
+        subject.occurred_at => 315.0
+      })
+    end
+  end
 end