master
1require "rails_helper"
2
3describe ExerciseSet do
4 subject { build(:work_set) }
5
6 describe "#weight_per_side" do
7 it "returns empty bar" do
8 subject.target_weight = 45.lbs
9 expect(subject.weight_per_side).to be_blank
10 end
11
12 it "returns 25 lbs/side" do
13 subject.target_weight = 95.lbs
14 expect(subject.weight_per_side).to eql("25.0 lbs/side")
15 end
16 end
17
18 describe ".for" do
19 let(:squat) { create(:exercise) }
20 let(:dip) { create(:exercise) }
21
22 it "returns all sets for the exercise only" do
23 squat_set = create(:work_set, exercise: squat)
24 _ = create(:work_set, exercise: dip)
25
26 expect(ExerciseSet.for(squat)).to match_array([squat_set])
27 end
28
29 it "returns nil" do
30 expect(ExerciseSet.for(squat)).to be_empty
31 end
32 end
33
34 describe "#target_weight" do
35 it "saves lbs" do
36 subject.target_weight = 45.lbs
37 subject.save!
38 expect(subject.reload.target_weight).to eql(45.lbs)
39 end
40
41 it "saves kgs" do
42 subject.target_weight = 20.kg
43 subject.save!
44 expect(subject.reload.target_weight).to eql(20.kg)
45 end
46 end
47end