aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruno Perles2015-11-03 17:30:33 +0100
committerBruno Perles2015-11-03 17:30:33 +0100
commitfbafa0e7efc71aa392d0d400e1777203cc95c841 (patch)
tree72d9d4b110784d06555d262dff5a17391795046f
parent915612ee90b2f454486fa821fdd75b800c326c99 (diff)
downloadchouette-core-fbafa0e7efc71aa392d0d400e1777203cc95c841.tar.bz2
Update IHM for vehicle journey frequency
-rw-r--r--app/assets/javascripts/application.js3
-rw-r--r--app/assets/javascripts/vehicle_journey_frequencies.js.coffee13
-rw-r--r--app/assets/javascripts/vehicle_journey_frequencies/index.js.coffee4
-rw-r--r--app/assets/javascripts/vehicle_journeys/index.js.coffee2
-rw-r--r--app/assets/stylesheets/application.css.scss.erb2
-rw-r--r--app/assets/stylesheets/main/vehicle_journey_frequencies.scss47
-rw-r--r--app/assets/stylesheets/vendor/bootstrap_changes.css.scss24
-rw-r--r--app/helpers/vehicle_journey_frequencies_helper.rb7
-rw-r--r--app/helpers/vehicle_journeys_helper.rb16
-rw-r--r--app/views/vehicle_journey_frequencies/_vehicle_journeys_matrix.html.erb61
-rw-r--r--app/views/vehicle_journey_frequencies/_vehicle_journeys_page_info.html.erb1
-rw-r--r--app/views/vehicle_journeys/_vehicle_journeys.html.erb3
-rw-r--r--app/views/vehicle_journeys/_vehicle_journeys_page_info.html.erb1
-rw-r--r--app/views/vehicle_journeys/index.html.erb43
-rw-r--r--config/locales/vehicle_journeys.en.yml1
-rw-r--r--config/locales/vehicle_journeys.fr.yml1
-rw-r--r--spec/models/gtfs_export_spec.rb4
-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
19 files changed, 186 insertions, 95 deletions
diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js
index 74e680a68..1ae76cd05 100644
--- a/app/assets/javascripts/application.js
+++ b/app/assets/javascripts/application.js
@@ -23,12 +23,11 @@
//= require footable/footable.paginate
//= require footable/footable.sort
//= require tools
-//= require datatables
-//= require datatables-fixedcolumns
//= require_directory ./plugins
//= require_directory .
//= require_directory ./stop_areas
//= require_directory ./vehicle_journeys
+//= require_directory ./vehicle_journey_frequencies
//= require_directory ./import_tasks
//= require_directory ./compliance_check_tasks
//= require_directory ./compliance_checks
diff --git a/app/assets/javascripts/vehicle_journey_frequencies.js.coffee b/app/assets/javascripts/vehicle_journey_frequencies.js.coffee
index 020283116..e69de29bb 100644
--- a/app/assets/javascripts/vehicle_journey_frequencies.js.coffee
+++ b/app/assets/javascripts/vehicle_journey_frequencies.js.coffee
@@ -1,13 +0,0 @@
-(($) ->
- $ ->
- $('.ce-VehicleJourneyFrequencyTableBlock').dataTable
- searching: false,
- ordering: false,
- paging: false,
- scrollX: true,
- fixedColumns: true,
- bInfo: false
- window.setTimeout('$( ".dataTables_scrollBody" ).animate({scrollLeft: 100}, 500).animate({scrollLeft: 0}, 500)', 1000)
- return
- return
-) jQuery
diff --git a/app/assets/javascripts/vehicle_journey_frequencies/index.js.coffee b/app/assets/javascripts/vehicle_journey_frequencies/index.js.coffee
new file mode 100644
index 000000000..4f4fccc18
--- /dev/null
+++ b/app/assets/javascripts/vehicle_journey_frequencies/index.js.coffee
@@ -0,0 +1,4 @@
+$(".vehicle_journey_frequencies.index").ready ->
+ $( 'body' ).popover({html: true, trigger: "click", selector: '[rel="popover"]'}).on("show.bs.popover", (event)->
+ $('[aria-describedby]').click()
+ $(event.target).data("bs.popover").tip().css("maxWidth", "350px"))
diff --git a/app/assets/javascripts/vehicle_journeys/index.js.coffee b/app/assets/javascripts/vehicle_journeys/index.js.coffee
index e21580f4e..02de558d4 100644
--- a/app/assets/javascripts/vehicle_journeys/index.js.coffee
+++ b/app/assets/javascripts/vehicle_journeys/index.js.coffee
@@ -1,4 +1,4 @@
-$(".vehicle_journeys.index, .vehicle_journey_frequencies.index").ready ->
+$(".vehicle_journeys.index").ready ->
$( 'body' ).popover({html: true, trigger: "focus", selector: 'thead th button'})
.on("show.bs.popover", (event)->
diff --git a/app/assets/stylesheets/application.css.scss.erb b/app/assets/stylesheets/application.css.scss.erb
index f29ca4738..770e3c82b 100644
--- a/app/assets/stylesheets/application.css.scss.erb
+++ b/app/assets/stylesheets/application.css.scss.erb
@@ -30,8 +30,6 @@ $body-bg: #eee;
@import "formtastic";
@import 'eonasdan-bootstrap-datetimepicker';
@import 'footable';
-@import 'datatables';
-@import 'datatables-fixedcolumns';
@import "vendor/openlayers_style";
@import "vendor/openlayers_ie6-style";
diff --git a/app/assets/stylesheets/main/vehicle_journey_frequencies.scss b/app/assets/stylesheets/main/vehicle_journey_frequencies.scss
index 911a3f267..f973de209 100644
--- a/app/assets/stylesheets/main/vehicle_journey_frequencies.scss
+++ b/app/assets/stylesheets/main/vehicle_journey_frequencies.scss
@@ -103,4 +103,51 @@
.ce-VehicleJourneyFrequencyTableBlock {
margin: 0 !important;
}
+ .ce-VehicleJourneyFrequenciesMatrix {
+ margin: 0;
+ padding: 0;
+ > li {
+ background-color: #eee;
+ height: 22px;
+ margin-bottom: 20px;
+ position: relative;
+ > ul {
+ margin: 0;
+ padding: 0;
+ > li {
+ cursor: pointer;
+ position: absolute;
+ padding: 0 2px;
+ top: 0;
+ bottom: 0;
+ background-color: $brand-primary;
+ border-left: 1px solid #000;
+ border-right: 1px solid #000;
+ &:hover {
+ z-index: 9999;
+ background-color: #4d7809;
+ top: -2px;
+ bottom: -2px;
+ > span {
+ display: block;
+ }
+ }
+ }
+ }
+ }
+ }
+ .ce-VehicleJourneyFrequenciesMatrix-firstDepartureTime,
+ .ce-VehicleJourneyFrequenciesMatrix-lastDepartureTime {
+ display: none;
+ position: absolute;
+ top: -13px;
+ font-size: 11px;
+ color: #262626;
+ }
+ .ce-VehicleJourneyFrequenciesMatrix-firstDepartureTime {
+ left: -32px;
+ }
+ .ce-VehicleJourneyFrequenciesMatrix-lastDepartureTime {
+ right: -32px;
+ }
}
diff --git a/app/assets/stylesheets/vendor/bootstrap_changes.css.scss b/app/assets/stylesheets/vendor/bootstrap_changes.css.scss
index 67cf90ae4..6e2ccc1f6 100644
--- a/app/assets/stylesheets/vendor/bootstrap_changes.css.scss
+++ b/app/assets/stylesheets/vendor/bootstrap_changes.css.scss
@@ -11,6 +11,7 @@
span.included_day_type {
color: black;
+ font-weight: bold;
}
span.excluded_day_type {
}
@@ -32,3 +33,26 @@
color: $brand-success;
}
}
+.popover-title {
+ display: table;
+ width: 100%;
+ > a {
+ display: table-cell;
+ vertical-align: top;
+ &:first-child {
+ padding-right: 10px;
+ }
+ &:last-child {
+ width: 32px;
+ }
+ }
+}
+.popover-content {
+ > ul {
+ margin: 0;
+ padding: 0;
+ > li {
+ list-style: none !important;
+ }
+ }
+}
diff --git a/app/helpers/vehicle_journey_frequencies_helper.rb b/app/helpers/vehicle_journey_frequencies_helper.rb
index 5d62aaf7f..237c9b371 100644
--- a/app/helpers/vehicle_journey_frequencies_helper.rb
+++ b/app/helpers/vehicle_journey_frequencies_helper.rb
@@ -1,2 +1,9 @@
module VehicleJourneyFrequenciesHelper
+ def journey_frequency_percent(journey_frequency)
+ base = 100.0 / 2359.0
+ left = base * journey_frequency.first_departure_time.strftime("%H%M").to_i
+ right = base * journey_frequency.last_departure_time.strftime("%H%M").to_i
+ width = right - left
+ [left.round(2), width.round(2)]
+ end
end
diff --git a/app/helpers/vehicle_journeys_helper.rb b/app/helpers/vehicle_journeys_helper.rb
index 9b4f055a1..c5f3242be 100644
--- a/app/helpers/vehicle_journeys_helper.rb
+++ b/app/helpers/vehicle_journeys_helper.rb
@@ -25,12 +25,20 @@ module VehicleJourneysHelper
l(departure_time, :format => :hour).gsub( / /, ' ')
end
- def vehicle_title(vehicle, departure_time=nil)
+ def vehicle_title(vehicle, journey_frequency=nil)
return t("vehicle_journeys.vehicle_journey#{'_frequency' if vehicle.frequency?}.title_stopless", :name => vehicle_name( vehicle)) if vehicle.vehicle_journey_at_stops.empty?
first_vjas = vehicle.vehicle_journey_at_stops.first
- t("vehicle_journeys.vehicle_journey#{'_frequency' if vehicle.frequency?}.title",
- :stop => first_vjas.stop_point.stop_area.name,
- :time => vehicle_departure(vehicle, departure_time))
+ if vehicle.frequency? && journey_frequency
+ t("vehicle_journeys.vehicle_journey_frequency.title_frequency",
+ :interval => l(journey_frequency.scheduled_headway_interval, format: :hour),
+ :stop => first_vjas.stop_point.stop_area.name,
+ :time_first => vehicle_departure(nil, journey_frequency.first_departure_time),
+ :time_last => vehicle_departure(nil, journey_frequency.last_departure_time))
+ else
+ t("vehicle_journeys.vehicle_journey#{'_frequency' if vehicle.frequency?}.title",
+ :stop => first_vjas.stop_point.stop_area.name,
+ :time => vehicle_departure(vehicle, (journey_frequency ? journey_frequency.first_departure_time : nil )))
+ end
end
def edit_vehicle_title( vehicle)
diff --git a/app/views/vehicle_journey_frequencies/_vehicle_journeys_matrix.html.erb b/app/views/vehicle_journey_frequencies/_vehicle_journeys_matrix.html.erb
index c915e4f54..c023f9cfb 100644
--- a/app/views/vehicle_journey_frequencies/_vehicle_journeys_matrix.html.erb
+++ b/app/views/vehicle_journey_frequencies/_vehicle_journeys_matrix.html.erb
@@ -1,41 +1,22 @@
-<table class="table table-hover table-striped ce-VehicleJourneyFrequencyTableBlock">
- <thead>
- <tr>
- <th class="title">
- <button data-style="primary" data-container="body" rel="popover" data-toggle="popover" title='<%= t(".line_routes") %>'
- data-placement="top" data-content='<%= render( partial: "vehicle_journeys/route_popover", :locals => { :selected_route => @route }) %>'
- class="route_popover btn btn-default btn-sm">
- <i class='fa fa-search'></i>
- <%= Chouette::Route.model_name.human.capitalize %>
- </button>
- </th>
- <% @matrix.each do |departure_time, vj| %>
- <th class="vehicle_journey">
- <button data-style="primary" data-container="body" rel="popover" data-toggle="popover"
- data-title='<%= link_to(vehicle_title(vj, departure_time), [@referential, @line, @route, vj] ) %>
- <%= link_to('<span class="fa fa-pencil"></span>'.html_safe,
- send("edit_referential_line_route_vehicle_journey#{'_frequency' if vj.frequency?}_path", @referential, @line, @route, vj),
- :class => "btn btn-default btn-sm" ) %>'
- data-placement= "top"
- data-content='<%= render( partial: "vehicle_journeys/show_popover", :locals => { :vehicle_journey => vj }) %>'
- class="vehicle_journey_popover btn btn-default btn-sm">
- <i class='fa fa-search'></i>
- </button>
- </th>
+<ul class="ce-VehicleJourneyFrequenciesMatrix">
+<% @vehicle_journeys.each do |vj| %>
+ <li>
+ <ul>
+ <% vj.journey_frequencies.each do |jf| %>
+ <% left, width = journey_frequency_percent(jf) %>
+ <li style="left:<%= left %>%;width:<%= width %>%"
+ data-style="primary" data-container="body" rel="popover" data-toggle="popover"
+ data-title='<%= link_to(vehicle_title(vj, jf), [@referential, @line, @route, vj] ) %>
+ <%= link_to('<span class="fa fa-pencil"></span>'.html_safe,
+ send("edit_referential_line_route_vehicle_journey#{'_frequency' if vj.frequency?}_path", @referential, @line, @route, vj),
+ :class => "btn btn-default btn-sm" ) %>'
+ data-placement= "top"
+ data-content='<%= render 'vehicle_journeys/show_popover', { vehicle_journey: vj } %>'>
+ <span class="ce-VehicleJourneyFrequenciesMatrix-firstDepartureTime"><%= l(jf.first_departure_time, format: :hour) %></span>
+ <span class="ce-VehicleJourneyFrequenciesMatrix-lastDepartureTime"><%= l(jf.last_departure_time, format: :hour) %></span>
+ </li>
<% end %>
- </tr>
- </thead>
- <tbody>
- <% @matrix_interval = Chouette::VehicleJourneyFrequency.matrix_interval(@matrix) %>
- <% @route.stop_points.each do |sp| %>
- <tr class="<%= cycle('odd', 'even') %>">
- <td class="stop_area"><%= sp.stop_area.name %></td>
- <% @matrix.each do |departure_time, vj| %>
- <% next unless @matrix_interval[sp.id] %>
- <% vjas = @matrix_interval[sp.id][departure_time.to_i] %>
- <td><%= (vjas && vjas.departure_time) ? l( vjas.departure_time, format: :hour) : '--' %></td>
- <% end %>
- </tr>
- <% end %>
- </tbody>
-</table>
+ </ul>
+ </li>
+<% end %>
+</ul>
diff --git a/app/views/vehicle_journey_frequencies/_vehicle_journeys_page_info.html.erb b/app/views/vehicle_journey_frequencies/_vehicle_journeys_page_info.html.erb
deleted file mode 100644
index fe3ae29e0..000000000
--- a/app/views/vehicle_journey_frequencies/_vehicle_journeys_page_info.html.erb
+++ /dev/null
@@ -1 +0,0 @@
-<span class="search"> <%= t("will_paginate.page_entries_info.search") %></span> <%= page_entries_info @vehicle_journeys %> <%= t('.with_matrix_size', matrix_size: @matrix.size) %>
diff --git a/app/views/vehicle_journeys/_vehicle_journeys.html.erb b/app/views/vehicle_journeys/_vehicle_journeys.html.erb
index 8dc2a74ef..9d553e48b 100644
--- a/app/views/vehicle_journeys/_vehicle_journeys.html.erb
+++ b/app/views/vehicle_journeys/_vehicle_journeys.html.erb
@@ -1,5 +1,6 @@
<div class="page_info">
- <%= render 'vehicle_journeys_page_info' %>
+ <span class="search"><%= t("will_paginate.page_entries_info.search") %></span>
+ <%= page_entries_info @vehicle_journeys %>
</div>
<div class="pagination">
<%= will_paginate @vehicle_journeys, :container => false, renderer: RemoteBootstrapPaginationLinkRenderer %>
diff --git a/app/views/vehicle_journeys/_vehicle_journeys_page_info.html.erb b/app/views/vehicle_journeys/_vehicle_journeys_page_info.html.erb
deleted file mode 100644
index 30b389ee3..000000000
--- a/app/views/vehicle_journeys/_vehicle_journeys_page_info.html.erb
+++ /dev/null
@@ -1 +0,0 @@
-<span class="search"> <%= t("will_paginate.page_entries_info.search") %></span> <%= page_entries_info @vehicle_journeys %>
diff --git a/app/views/vehicle_journeys/index.html.erb b/app/views/vehicle_journeys/index.html.erb
index 13126b2e1..3fd123c79 100644
--- a/app/views/vehicle_journeys/index.html.erb
+++ b/app/views/vehicle_journeys/index.html.erb
@@ -14,30 +14,31 @@
<div id="advanced_search" class="panel-collapse collapse">
<div class="panel-body">
<div>
- <%= f.label :time_tables_id_not_eq, "Sans calendrier" %>
- <%= f.check_box :time_tables_id_not_eq %>
+ <%= f.label :time_tables_id_not_eq, "Sans calendrier" %>
+ <%= f.check_box :time_tables_id_not_eq %>
- <span class="time_tables_id_eq">
- <%= f.label :time_tables_id_eq, "Sélectionner calendriers" %>
- <%= f.text_field :time_tables_id_eq, :input_html => { :"data-pre" => [].to_json} %>
- </span>
+ <span class="time_tables_id_eq">
+ <%= f.label :time_tables_id_eq, "Sélectionner calendriers" %>
+ <%= f.text_field :time_tables_id_eq, :input_html => { :"data-pre" => [].to_json} %>
+ </span>
</div>
+ <% if controller_name != 'vehicle_journey_frequencies' %>
+ <div>
+ <%= f.label :vehicle_journey_at_stops_departure_time_not_eq, "Sans horaire" %>
+ <%= f.check_box :vehicle_journey_at_stops_departure_time_not_eq %>
- <div>
- <%= f.label :vehicle_journey_at_stops_departure_time_not_eq, "Sans horaire" %>
- <%= f.check_box :vehicle_journey_at_stops_departure_time_not_eq %>
-
- <span class="vehicle_journey_at_stops_departure_time_gt">
- <input name=<%= "q[vehicle_journey_at_stops_departure_time_gt(3i)]" %> type="hidden" value="1">
- <input name=<%= "q[vehicle_journey_at_stops_departure_time_gt(2i)]" %> type="hidden" value="1">
- <input name=<%= "q[vehicle_journey_at_stops_departure_time_gt(1i)]" %> type="hidden" value="2000">
- <%= f.label :vehicle_journey_at_stops_departure_time_gt, t('.time_range') %>
- <%= select_hour(@q.send( "vehicle_journey_at_stops_departure_time_gt") ? @q.send( "vehicle_journey_at_stops_departure_time_gt").hour : 0,
- :prefix => "q", :field_name => "vehicle_journey_at_stops_departure_time_gt(4i)") %>
- <%= select_minute(@q.send( "vehicle_journey_at_stops_departure_time_gt") ? @q.send( "vehicle_journey_at_stops_departure_time_gt").min : 0,
- :prefix => "q", :field_name => "vehicle_journey_at_stops_departure_time_gt(5i)") %>
- </span>
- </div>
+ <span class="vehicle_journey_at_stops_departure_time_gt">
+ <input name=<%= "q[vehicle_journey_at_stops_departure_time_gt(3i)]" %> type="hidden" value="1">
+ <input name=<%= "q[vehicle_journey_at_stops_departure_time_gt(2i)]" %> type="hidden" value="1">
+ <input name=<%= "q[vehicle_journey_at_stops_departure_time_gt(1i)]" %> type="hidden" value="2000">
+ <%= f.label :vehicle_journey_at_stops_departure_time_gt, t('.time_range') %>
+ <%= select_hour(@q.send( "vehicle_journey_at_stops_departure_time_gt") ? @q.send( "vehicle_journey_at_stops_departure_time_gt").hour : 0,
+ :prefix => "q", :field_name => "vehicle_journey_at_stops_departure_time_gt(4i)") %>
+ <%= select_minute(@q.send( "vehicle_journey_at_stops_departure_time_gt") ? @q.send( "vehicle_journey_at_stops_departure_time_gt").min : 0,
+ :prefix => "q", :field_name => "vehicle_journey_at_stops_departure_time_gt(5i)") %>
+ </span>
+ </div>
+ <% end %>
</div>
</div>
</div>
diff --git a/config/locales/vehicle_journeys.en.yml b/config/locales/vehicle_journeys.en.yml
index b70ddb025..6e8aba661 100644
--- a/config/locales/vehicle_journeys.en.yml
+++ b/config/locales/vehicle_journeys.en.yml
@@ -8,6 +8,7 @@ en:
vehicle_journey_frequency:
title_stopless: "Vehicle journey frequency %{name}"
title: "Vehicle journey frequency leaving from %{stop} at %{time}"
+ title_frequency: "Vehicle journey frequency with %{interval}min leaving from %{stop} at %{time_first} to %{time_last}"
actions:
index: "Vehicle time's board"
new: "Add a new timed vehicle journey"
diff --git a/config/locales/vehicle_journeys.fr.yml b/config/locales/vehicle_journeys.fr.yml
index eda76bde6..b9f155153 100644
--- a/config/locales/vehicle_journeys.fr.yml
+++ b/config/locales/vehicle_journeys.fr.yml
@@ -8,6 +8,7 @@ fr:
vehicle_journey_frequency:
title_stopless: "Course à fréquence %{name}"
title: "Course à fréquence partant de %{stop} à %{time}"
+ title_frequency: "Course à fréquence de %{interval}min partant de %{stop} de %{time_first} à %{time_last}"
actions:
index: "Horaires des courses"
new: "Ajouter une course à horaire"
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/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