Commit 7c9074a
Changed files (2)
app
models
spec
models
app/models/training_session.rb
@@ -2,7 +2,7 @@ class TrainingSession < ActiveRecord::Base
belongs_to :user
belongs_to :workout
has_one :program, through: :workout
- has_many :exercise_sessions
+ has_many :exercise_sessions, dependent: :destroy
def train(exercise, target_weight, completed_sets)
recommendation = workout.exercise_workouts.find_by(exercise: exercise)
spec/models/user_spec.rb
@@ -176,4 +176,19 @@ describe User do
expect(result.user).to eql(subject)
end
end
+
+ describe "when destroying a training session" do
+ include_context "stronglifts_program"
+ subject { create(:user) }
+
+ it "removes all the associations" do
+ training_session = subject.begin_workout(workout_a, Date.today, 200)
+ training_session.train(squat, 200, [5, 5, 5, 5, 5])
+
+ subject.training_sessions.destroy_all
+
+ expect(TrainingSession.all).to be_empty
+ expect(ExerciseSession.all).to be_empty
+ end
+ end
end