diff options
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/controllers/vehicle_journey_frequencies_controller_spec.rb | 5 | ||||
| -rw-r--r-- | spec/features/timebands_spec.rb | 62 | ||||
| -rw-r--r-- | spec/helpers/vehicle_journey_frequencies_helper_spec.rb | 15 | ||||
| -rw-r--r-- | spec/models/gtfs_export_spec.rb | 4 | ||||
| -rw-r--r-- | spec/views/timebands/edit.html.erb_spec.rb | 23 | ||||
| -rw-r--r-- | spec/views/timebands/index.html.erb_spec.rb | 20 | ||||
| -rw-r--r-- | spec/views/timebands/new.html.erb_spec.rb | 21 | ||||
| -rw-r--r-- | spec/views/timebands/show.html.erb_spec.rb | 24 | ||||
| -rw-r--r-- | spec/views/vehicle_journeys/_form.html.erb_spec.rb | 42 | ||||
| -rw-r--r-- | spec/views/vehicle_journeys/_vehicle_journey.html.erb_spec.rb | 6 |
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 |
