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