aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/controllers/vehicle_journey_frequencies_controller_spec.rb5
-rw-r--r--spec/features/timebands_spec.rb62
-rw-r--r--spec/helpers/vehicle_journey_frequencies_helper_spec.rb15
-rw-r--r--spec/models/gtfs_export_spec.rb4
-rw-r--r--spec/views/timebands/edit.html.erb_spec.rb23
-rw-r--r--spec/views/timebands/index.html.erb_spec.rb20
-rw-r--r--spec/views/timebands/new.html.erb_spec.rb21
-rw-r--r--spec/views/timebands/show.html.erb_spec.rb24
-rw-r--r--spec/views/vehicle_journeys/_form.html.erb_spec.rb42
-rw-r--r--spec/views/vehicle_journeys/_vehicle_journey.html.erb_spec.rb6
10 files changed, 213 insertions, 9 deletions
diff --git a/spec/controllers/vehicle_journey_frequencies_controller_spec.rb b/spec/controllers/vehicle_journey_frequencies_controller_spec.rb
new file mode 100644
index 000000000..61636e334
--- /dev/null
+++ b/spec/controllers/vehicle_journey_frequencies_controller_spec.rb
@@ -0,0 +1,5 @@
+require 'spec_helper'
+
+RSpec.describe VehicleJourneyFrequenciesController, :type => :controller do
+
+end
diff --git a/spec/features/timebands_spec.rb b/spec/features/timebands_spec.rb
new file mode 100644
index 000000000..6f07fab4f
--- /dev/null
+++ b/spec/features/timebands_spec.rb
@@ -0,0 +1,62 @@
+# -*- coding: utf-8 -*-
+require 'spec_helper'
+
+describe "Timebands", :type => :feature do
+ login_user
+
+ let!(:timebands) { Array.new(2) { create(:timeband) } }
+ subject { timebands.first }
+
+ describe "list" do
+ it "display timebands" do
+ visit referential_timebands_path(referential)
+ expect(page).to have_content(timebands.first.name)
+ expect(page).to have_content(timebands.last.name)
+ end
+
+ end
+
+ describe "show" do
+ it "display timeband" do
+ visit referential_timebands_path(referential)
+ click_link "#{timebands.first.name}"
+ expect(page).to have_content(timebands.first.name)
+ end
+
+ end
+
+ describe "new" do
+ it "creates timeband and return to show" do
+ visit referential_timebands_path(referential)
+ click_link "Ajouter une plage horaire"
+ fill_in "Titre", :with => "Timeband 1"
+
+ select '10', from: 'timeband_start_time_4i'
+ select '00', from: 'timeband_start_time_5i'
+ select '11', from: 'timeband_end_time_4i'
+ select '00', from: 'timeband_end_time_5i'
+
+ click_button("Créer plage horaire")
+ expect(page).to have_content("Timeband 1")
+ end
+ end
+
+ describe "edit and return to show" do
+ it "edit timeband" do
+ visit referential_timeband_path(referential, subject)
+ click_link "Modifier cette plage horaire"
+ fill_in "Titre", :with => "Timeband Modified"
+ click_button("Modifier plage horaire")
+ expect(page).to have_content("Timeband Modified")
+ end
+ end
+
+ describe "delete and return to list" do
+ it "delete timeband" do
+ visit referential_timebands_path(referential)
+ page.all('.remove')[0].click
+ expect(page).to_not have_content("Timeband Modified")
+ end
+ end
+
+end
diff --git a/spec/helpers/vehicle_journey_frequencies_helper_spec.rb b/spec/helpers/vehicle_journey_frequencies_helper_spec.rb
new file mode 100644
index 000000000..97a1df052
--- /dev/null
+++ b/spec/helpers/vehicle_journey_frequencies_helper_spec.rb
@@ -0,0 +1,15 @@
+require 'spec_helper'
+
+# Specs in this file have access to a helper object that includes
+# the VehicleJourneyFrequenciesHelper. For example:
+#
+# describe VehicleJourneyFrequenciesHelper do
+# describe "string concat" do
+# it "concats two strings with spaces" do
+# expect(helper.concat_strings("this","that")).to eq("this that")
+# end
+# end
+# end
+RSpec.describe VehicleJourneyFrequenciesHelper, :type => :helper do
+ pending "add some examples to (or delete) #{__FILE__}"
+end
diff --git a/spec/models/gtfs_export_spec.rb b/spec/models/gtfs_export_spec.rb
index 6051497a7..ccc98e872 100644
--- a/spec/models/gtfs_export_spec.rb
+++ b/spec/models/gtfs_export_spec.rb
@@ -11,7 +11,7 @@ describe GtfsExport, :type => :model do
end
it "should be mandatory" do
- subject.should validate_presence_of(:time_zone)
+ should validate_presence_of(:time_zone)
end
end
@@ -23,7 +23,7 @@ describe GtfsExport, :type => :model do
end
it "should be mandatory" do
- subject.should_not validate_presence_of(:time_zone)
+ should_not validate_presence_of(:time_zone)
end
end
diff --git a/spec/views/timebands/edit.html.erb_spec.rb b/spec/views/timebands/edit.html.erb_spec.rb
new file mode 100644
index 000000000..26c85c229
--- /dev/null
+++ b/spec/views/timebands/edit.html.erb_spec.rb
@@ -0,0 +1,23 @@
+require 'spec_helper'
+
+describe "/timebands/edit", :type => :view do
+ assign_referential
+ let!(:timeband) { assign(:timeband, create(:timeband) ) }
+
+ describe "test" do
+ it "should render h2 with the group name" do
+ render
+ expect(rendered).to have_selector("h2", text: Regexp.new(timeband.name))
+ end
+ end
+
+ describe "form" do
+ it "should render input for timeband" do
+ render
+ expect(rendered).to have_selector("form") do
+ with_tag "input[type=text][name='timeband[name]'][value=?]", timeband.name
+ end
+ end
+
+ end
+end
diff --git a/spec/views/timebands/index.html.erb_spec.rb b/spec/views/timebands/index.html.erb_spec.rb
new file mode 100644
index 000000000..0ce0c419c
--- /dev/null
+++ b/spec/views/timebands/index.html.erb_spec.rb
@@ -0,0 +1,20 @@
+require 'spec_helper'
+
+describe "/timebands/index", :type => :view do
+
+ assign_referential
+ let!(:timebands) { assign :timebands, Array.new(2){ create(:timeband) }.paginate }
+
+ it "should render a show link for each timeband" do
+ render
+ timebands.each do |timeband|
+ expect(rendered).to have_selector("a[href='#{view.referential_timeband_path(referential, timeband)}']", :text => timeband.name)
+ end
+ end
+
+ it "should render a link to create a new timeband" do
+ render
+ expect(view.content_for(:sidebar)).to have_selector(".actions a[href='#{new_referential_timeband_path(referential)}']")
+ end
+
+end
diff --git a/spec/views/timebands/new.html.erb_spec.rb b/spec/views/timebands/new.html.erb_spec.rb
new file mode 100644
index 000000000..73a99cad5
--- /dev/null
+++ b/spec/views/timebands/new.html.erb_spec.rb
@@ -0,0 +1,21 @@
+require 'spec_helper'
+
+describe "/timebands/new", :type => :view do
+ assign_referential
+ let!(:timeband) { assign(:timeband, build(:timeband)) }
+
+ describe "form" do
+
+ it "should render inputs" do
+ render
+ expect(rendered).to have_selector("form") do
+ with_selector "input[type=text][name=?]", timeband.name
+ with_selector "select[start_time(4i)=?]", timeband.start_time
+ with_selector "select[start_time(5i)=?]", timeband.start_time
+ with_selector "select[end_time(4i)=?]", timeband.end_time
+ with_selector "select[end_time(5i)=?]", timeband.end_time
+ end
+ end
+
+ end
+end
diff --git a/spec/views/timebands/show.html.erb_spec.rb b/spec/views/timebands/show.html.erb_spec.rb
new file mode 100644
index 000000000..d43ba588c
--- /dev/null
+++ b/spec/views/timebands/show.html.erb_spec.rb
@@ -0,0 +1,24 @@
+require 'spec_helper'
+
+describe "/timebands/show", :type => :view do
+
+ assign_referential
+ let!(:timeband) { assign(:timeband, create(:timeband)) }
+
+ it "should render h2 with the timeband name" do
+ render
+ expect(rendered).to have_selector("h2", text: Regexp.new(timeband.name))
+ end
+
+ it "should render a link to edit the timeband" do
+ render
+ expect(view.content_for(:sidebar)).to have_selector(".actions a[href='#{view.edit_referential_timeband_path(referential, timeband)}']")
+ end
+
+ it "should render a link to remove the timeband" do
+ render
+ expect(view.content_for(:sidebar)).to have_selector(".actions a[href='#{view.referential_timeband_path(referential, timeband)}'][class='remove']")
+ end
+
+end
+
diff --git a/spec/views/vehicle_journeys/_form.html.erb_spec.rb b/spec/views/vehicle_journeys/_form.html.erb_spec.rb
index ab1d946bf..05fa068d9 100644
--- a/spec/views/vehicle_journeys/_form.html.erb_spec.rb
+++ b/spec/views/vehicle_journeys/_form.html.erb_spec.rb
@@ -8,7 +8,11 @@ describe "/vehicle_journeys/_form", :type => :view do
let!(:vehicle_journey) { assign :vehicle_journey, create(:vehicle_journey, :route => route) }
it "should render an input for transport_mode" do
- render
+ render partial: 'vehicle_journeys/form',
+ locals: { vehicle_journey: vehicle_journey, form_url: referential_line_route_vehicle_journeys_path(referential,
+ line,
+ route,
+ vehicle_journey) }
expect(rendered).to have_selector( "select#vehicle_journey_transport_mode_name") do |node|
Chouette::Line.transport_modes.each do |mode|
expect(node).to have_selector("option", :text => mode.text_code)
@@ -17,14 +21,22 @@ describe "/vehicle_journeys/_form", :type => :view do
end
it "should render an input for comment" do
- render
+ render partial: 'vehicle_journeys/form',
+ locals: { vehicle_journey: vehicle_journey, form_url: referential_line_route_vehicle_journeys_path(referential,
+ line,
+ route,
+ vehicle_journey) }
expect(rendered).to have_selector("form") do
with_selector "input[type=text][comment=]", vehicle_journey.comment
end
end
context "stop's time view part" do
it "should render stop's names" do
- render
+ render partial: 'vehicle_journeys/form',
+ locals: { vehicle_journey: vehicle_journey, form_url: referential_line_route_vehicle_journeys_path(referential,
+ line,
+ route,
+ vehicle_journey) }
expect(rendered).to have_selector("form") do |form_node|
vehicle_journey.stop_points.each do |sp|
form_node.with_selector "label", :text => sp.stop_area.name
@@ -32,12 +44,20 @@ describe "/vehicle_journeys/_form", :type => :view do
end
end
it "renders _vehicle_journey_at_stop_fields partial for each vehicle_journey_at_stop" do
- render
+ render partial: 'vehicle_journeys/form',
+ locals: { vehicle_journey: vehicle_journey, form_url: referential_line_route_vehicle_journeys_path(referential,
+ line,
+ route,
+ vehicle_journey) }
expect(view).to render_template(:partial => "_vehicle_journey_at_stop_fields", :count => vehicle_journey.vehicle_journey_at_stops.count)
end
it "should render vehicle_journey_at_stop's departure time" do
- render
+ render partial: 'vehicle_journeys/form',
+ locals: { vehicle_journey: vehicle_journey, form_url: referential_line_route_vehicle_journeys_path(referential,
+ line,
+ route,
+ vehicle_journey) }
expect(rendered).to have_selector("form") do |form_node|
vehicle_journey.stop_points.each_with_index do |sp, index|
form_node.with_selector "select", :name => "vehicle_journey[vehicle_journey_at_stops_attributes][#{index}][departure_time(4i)]"
@@ -48,7 +68,11 @@ describe "/vehicle_journeys/_form", :type => :view do
end
context "when existing vehicle_journey" do
it "should display objectid not as an input" do
- render
+ render partial: 'vehicle_journeys/form',
+ locals: { vehicle_journey: vehicle_journey, form_url: referential_line_route_vehicle_journeys_path(referential,
+ line,
+ route,
+ vehicle_journey) }
expect(rendered).to have_selector("form") do
with_selector "input[type=text][objectid=][disabled=true]", vehicle_journey.objectid
end
@@ -57,7 +81,11 @@ describe "/vehicle_journeys/_form", :type => :view do
context "when new vehicle_journey" do
let!(:vehicle_journey) { assign :vehicle_journey, build(:vehicle_journey, :route => route) }
it "should render an input for objectid" do
- render
+ render partial: 'vehicle_journeys/form',
+ locals: { vehicle_journey: vehicle_journey, form_url: referential_line_route_vehicle_journeys_path(referential,
+ line,
+ route,
+ vehicle_journey) }
expect(rendered).to have_selector("form") do
with_selector "input[type=text][objectid=][disabled=false]", vehicle_journey.objectid
end
diff --git a/spec/views/vehicle_journeys/_vehicle_journey.html.erb_spec.rb b/spec/views/vehicle_journeys/_vehicle_journey.html.erb_spec.rb
new file mode 100644
index 000000000..e1c61c4a7
--- /dev/null
+++ b/spec/views/vehicle_journeys/_vehicle_journey.html.erb_spec.rb
@@ -0,0 +1,6 @@
+require 'spec_helper'
+
+describe "/vehicle_journeys/_vehicle_journey", :type => :view do
+
+ assign_referential
+end