Commit 75f8484

mo khan <mo@mokhan.ca>
2016-07-19 02:15:26
add target_duration.
1 parent da13173
app/models/user_recommendation.rb
@@ -24,8 +24,9 @@ class UserRecommendation
   def work_set(target_weight)
     WorkSet.new(
       exercise: exercise,
-      target_repetitions: repetitions,
-      target_weight: target_weight,
+      target_repetitions: recommendation.duration.present? ? 1 : repetitions,
+      target_weight: recommendation.duration.present? ? 0.lbs : target_weight,
+      target_duration: recommendation.duration,
     )
   end
 
db/migrate/20160719020232_add_duration_to_exercise_sets.rb
@@ -0,0 +1,5 @@
+class AddDurationToExerciseSets < ActiveRecord::Migration[5.0]
+  def change
+    add_column :exercise_sets, :target_duration, :integer
+  end
+end
db/schema.rb
@@ -10,7 +10,7 @@
 #
 # It's strongly recommended that you check this file into your version control system.
 
-ActiveRecord::Schema.define(version: 20160710010020) do
+ActiveRecord::Schema.define(version: 20160719020232) do
 
   # These are extensions that must be enabled in order to support this database
   enable_extension "plpgsql"
@@ -25,6 +25,7 @@ ActiveRecord::Schema.define(version: 20160710010020) do
     t.uuid     "exercise_id",        null: false
     t.uuid     "workout_id"
     t.string   "type",               null: false
+    t.integer  "target_duration"
     t.index ["exercise_id", "workout_id"], name: "index_exercise_sets_on_exercise_id_and_workout_id", using: :btree
     t.index ["exercise_id"], name: "index_exercise_sets_on_exercise_id", using: :btree
   end
spec/models/program_spec.rb
@@ -157,8 +157,9 @@ describe Program do
         sets = subject.prepare_sets_for(user, planks)
         worksets = sets.select(&:work?)
         expect(worksets.length).to eql(3)
-        expect(worksets.map(&:target_repetitions)).to match_array([1])
-        expect(worksets.map(&:duration)).to match_array([60])
+        expect(worksets.map(&:target_repetitions)).to match_array([1,1,1])
+        expect(worksets.map(&:target_weight).uniq).to match_array([0.lbs])
+        expect(worksets.map(&:target_duration).uniq).to match_array([60])
       end
     end
   end