Commit 18008c1

mo khan <mo@mokhan.ca>
2015-05-24 05:26:38
add specs for workout.
1 parent ee2e4e7
Changed files (2)
app
spec
app/models/workout.rb
@@ -11,7 +11,11 @@ class Workout < ActiveRecord::Base
     slug
   end
 
-  def add_exercise(exercise, sets:, repetitions:)
-    exercise_workouts.create!(exercise: exercise, sets: sets, repetitions: repetitions)
+  def add_exercise(exercise, sets: 5, repetitions: 5)
+    exercise_workouts.create!(
+      exercise: exercise,
+      sets: sets,
+      repetitions: repetitions
+    )
   end
 end
spec/models/workout_spec.rb
@@ -0,0 +1,30 @@
+require "rails_helper"
+
+describe Workout do
+  subject { build(:workout) }
+
+  describe "#add_exercise" do
+    let(:exercise) { create(:exercise) }
+
+    before :each do
+      subject.save!
+    end
+
+    it "adds a new exercise with the specified sets" do
+      sets = rand(10)
+      subject.add_exercise(exercise, sets: sets)
+      expect(subject.exercise_workouts.first.sets).to eql(sets)
+    end
+
+    it "adds the new exercise with the specified reps" do
+      repetitions = rand(10)
+      subject.add_exercise(exercise, repetitions: repetitions)
+      expect(subject.exercise_workouts.first.repetitions).to eql(repetitions)
+    end
+
+    it "adds the excercise" do
+      subject.add_exercise(exercise)
+      expect(subject.exercise_workouts.first.exercise).to eql(exercise)
+    end
+  end
+end