diff --git a/app/helpers/applies_helper.rb b/app/helpers/applies_helper.rb index ffd1b68..3332934 100644 --- a/app/helpers/applies_helper.rb +++ b/app/helpers/applies_helper.rb @@ -1,6 +1,6 @@ module AppliesHelper def course_select - Course.all.order(:name).map { |c| [c.full_name, c.id ] } + Course.where("start > ?" , Time.now).order(:start).map { |c| [c.full_name, c.id ] } end def plan_select diff --git a/spec/factories/courses.rb b/spec/factories/courses.rb index 056b549..5530626 100644 --- a/spec/factories/courses.rb +++ b/spec/factories/courses.rb @@ -5,7 +5,7 @@ FactoryGirl.define do end extra "With Extras" sequence :start do |n| - Time.now - 2.weeks + (n*2).weeks - end + Time.now - 3.weeks + (n*2).weeks + end end end diff --git a/spec/features/applies/applies_spec.rb b/spec/features/applies/applies_spec.rb index 987d1a4..90853a7 100644 --- a/spec/features/applies/applies_spec.rb +++ b/spec/features/applies/applies_spec.rb @@ -12,7 +12,7 @@ feature 'Applies' do scenario 'Send Application' do within "#apply_primary_choice_course_id" do courses = page.find_all("option") - expect(courses.length).to be 3 + expect(courses.length).to be 2 end end diff --git a/spec/helpers/applies_helper_spec.rb b/spec/helpers/applies_helper_spec.rb new file mode 100644 index 0000000..fcd61d8 --- /dev/null +++ b/spec/helpers/applies_helper_spec.rb @@ -0,0 +1,20 @@ +RSpec.describe AppliesHelper, type: :helper do + + def make_list(times) + times.each do |t| + create( :course , start: Time.now + t.weeks) + end + end + it "shows 2 courses when 3 are created (because 1 is in the past)" do + make_list [-2 , 2, 2] + expect(helper.course_select.length).to eq( 2 ) + end + + it "shows 5 of 5 future courses" do + make_list [2, 4 , 6 , 8 , 10] + helper.course_select.each do |options| + course = Course.find options[1] + expect((course.start - DateTime.now).to_i).to be < 150 + end + end +end diff --git a/spec/models/course_spec.rb b/spec/models/course_spec.rb index f7a3cd2..e817af7 100644 --- a/spec/models/course_spec.rb +++ b/spec/models/course_spec.rb @@ -22,6 +22,6 @@ RSpec.describe Course, type: :model do it "the second course is in the future" do create :course course2 = create :course - expect((course2.start - DateTime.now).to_i).to be < 250 + expect((course2.start - DateTime.now).to_i).to be < 400 end end