Commit 5467abd

mo khan <mo@mokhan.ca>
2015-06-01 02:41:43
split apart tests.
1 parent f708785
Changed files (2)
app
models
android
spec
models
app/models/android/import.rb
@@ -19,12 +19,12 @@ class Android::Import
     end
   end
 
+  private
+
   def import(row)
     create_workout_from(map_from(row))
   end
 
-  private
-
   def database_file(dir)
     "#{dir}/stronglifts.db"
   end
spec/models/android/import_spec.rb
@@ -1,4 +1,4 @@
-require 'rails_helper'
+require "rails_helper"
 
 describe Android::Import do
   include_context "stronglifts_program"
@@ -7,7 +7,9 @@ describe Android::Import do
 
   describe "#import_from" do
     let(:directory) { Dir.mktmpdir }
-    let(:backup_file) { Rails.root.join("spec", "fixtures", "backup.android.stronglifts") }
+    let(:backup_file) do 
+      Rails.root.join("spec", "fixtures", "backup.android.stronglifts")
+    end
 
     before :each do
       `unzip #{backup_file} -d #{directory}`
@@ -17,19 +19,25 @@ describe Android::Import do
       FileUtils.remove_entry(directory)
     end
 
-    it "creates a new workout" do
+    it "imports each training session" do
       subject.import_from(directory)
       training_session = user.training_sessions.order(:occurred_at).first
 
       expect(training_session).to be_persisted
-      expect(training_session.occurred_at.to_i).to eql(DateTime.parse("Mon, 02 Mar 2015 09:28:26 UTC +00:00").to_i)
+      expected_date = DateTime.parse("Mon, 02 Mar 2015 09:28:26 UTC +00:00")
+      expect(training_session.occurred_at.to_i).to eql(expected_date.to_i)
       expect(training_session.workout).to eql(workout_a)
       expect(training_session.body_weight).to eql(205.0)
       expect(training_session.exercise_sessions.count).to eql(3)
       expect(
         training_session.exercise_sessions.map { |x| x.exercise.name }
       ).to match_array(["Squat", "Bench Press", "Barbell Row"])
+    end
+
+    it "imports the completed squat exercise" do
+      subject.import_from(directory)
 
+      training_session = user.training_sessions.order(:occurred_at).first
       squat_session = training_session.exercise_sessions.
         find_by(exercise_workout: squat_workout)
       expect(squat_session.target_weight).to eql(45.0)
@@ -38,7 +46,12 @@ describe Android::Import do
       expect(squat_session.sets[2]).to eql("5")
       expect(squat_session.sets[3]).to eql("5")
       expect(squat_session.sets[4]).to eql("5")
+    end
 
+    it "imports the completed bench exercise" do
+      subject.import_from(directory)
+
+      training_session = user.training_sessions.order(:occurred_at).first
       bench_session = training_session.exercise_sessions.
         find_by(exercise_workout: bench_workout)
       expect(bench_session.target_weight).to eql(65.0)
@@ -47,7 +60,12 @@ describe Android::Import do
       expect(bench_session.sets[2]).to eql("5")
       expect(bench_session.sets[3]).to eql("5")
       expect(bench_session.sets[4]).to eql("5")
+    end
 
+    it "imports the completed barbell row exercise" do
+      subject.import_from(directory)
+
+      training_session = user.training_sessions.order(:occurred_at).first
       row_session = training_session.exercise_sessions.
         find_by(exercise_workout: row_workout)
       expect(row_session.target_weight).to eql(65.0)