Commit 7972940

mo khan <mo@mokhan.ca>
2015-05-22 20:06:26
do not re-import workouts that have already been imported.
1 parent 2211913
Changed files (2)
app/models/training_session.rb
@@ -6,6 +6,10 @@ class TrainingSession < ActiveRecord::Base
   def self.create_workout_from(workout_row)
     program = Program.find_by(name: "StrongLifts 5×5")
     workout = program.workouts.find_by(name: workout_row.workout)
+
+    matching_workouts = where(occurred_at: workout_row.date)
+    return matching_workouts.first if matching_workouts.any?
+
     transaction do
       session = create!(workout: workout, occurred_at: workout_row.date)
 
spec/models/training_session_spec.rb
@@ -67,5 +67,10 @@ describe TrainingSession, type: :model do
       expect(row_session.sets[3]).to eql("4")
       expect(row_session.sets[4]).to eql("4")
     end
+
+    it 'excludes items that have already been imported' do
+      training_session = user.training_sessions.create_workout_from(workout_row)
+      expect(user.training_sessions.create_workout_from(workout_row)).to eql(training_session)
+    end
   end
 end