Commit 9fe362d

mo khan <mo@mokhan.ca>
2016-06-11 22:05:43
update the ios import specs.
1 parent 268f926
Changed files (2)
app
models
spec
models
app/models/ios/import.rb
@@ -30,8 +30,9 @@ class Ios::Import
               db[:ZWEIGHT].
                 where(Z_PK: exercise_set_row[:ZWEIGHT]).each do |weight_row|
                 target_weight = weight_row[:ZVAL]
-                sets = sets_from(exercise_set_row)
-                training_session.train(exercise, target_weight, sets)
+                sets_from(exercise_set_row).each_with_index do |reps, set|
+                  training_session.train(exercise, target_weight, repetitions: reps, set: set)
+                end
               end
             end
           end
@@ -46,7 +47,7 @@ class Ios::Import
     (1..5).inject([]) do |memo, n|
       column = "ZSET#{n}".to_sym
       memo << row[column] if row[column] && row[column] != -3
-    end
+    end || []
   end
 
   def database_file(directory)
spec/models/ios/import_spec.rb
@@ -50,7 +50,7 @@ describe Ios::Import do
       training_session = training_sessions.first
       first_exercises = training_session.exercise_sessions
       expect(first_exercises.count).to eql(3)
-      expect(first_exercises.first.actual_sets).to eql(["5", "5", "5", "5", "5"])
+      expect(first_exercises.first.to_sets).to eql([5, 5, 5, 5, 5])
 
       expected_date = DateTime.new(2015, 05, 02, 23, 27, 05)
       expect(training_session.occurred_at.to_i).to eql(expected_date.to_i)
@@ -67,13 +67,7 @@ describe Ios::Import do
 
       training_session = user.training_sessions.order(:occurred_at).first
       squat_session = training_session.progress_for(squat)
-
-      expect(squat_session.target_weight).to eql(45.0)
-      expect(squat_session.actual_sets[0]).to eql("5")
-      expect(squat_session.actual_sets[1]).to eql("5")
-      expect(squat_session.actual_sets[2]).to eql("5")
-      expect(squat_session.actual_sets[3]).to eql("5")
-      expect(squat_session.actual_sets[4]).to eql("5")
+      expect(squat_session.to_sets).to eql([5, 5, 5, 5, 5])
     end
 
     it "imports the completed bench exercise" do
@@ -81,12 +75,7 @@ describe Ios::Import do
 
       training_session = user.training_sessions.order(:occurred_at).first
       bench_session = training_session.progress_for(bench_press)
-      expect(bench_session.target_weight).to eql(45.0)
-      expect(bench_session.actual_sets[0]).to eql("5")
-      expect(bench_session.actual_sets[1]).to eql("5")
-      expect(bench_session.actual_sets[2]).to eql("5")
-      expect(bench_session.actual_sets[3]).to eql("5")
-      expect(bench_session.actual_sets[4]).to eql("5")
+      expect(bench_session.to_sets).to eql([5, 5, 5, 5, 5])
     end
 
     it "imports the completed barbell row exercise" do
@@ -94,12 +83,7 @@ describe Ios::Import do
 
       training_session = user.training_sessions.order(:occurred_at).first
       row_session = training_session.progress_for(barbell_row)
-      expect(row_session.target_weight).to eql(65.0)
-      expect(row_session.actual_sets[0]).to eql("5")
-      expect(row_session.actual_sets[1]).to eql("5")
-      expect(row_session.actual_sets[2]).to eql("5")
-      expect(row_session.actual_sets[3]).to eql("5")
-      expect(row_session.actual_sets[4]).to eql("5")
+      expect(row_session.to_sets).to eql([5, 5, 5, 5, 5])
     end
 
     it "excludes items that have already been imported" do