Commit 3ea15ef
Changed files (2)
app
models
spec
models
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