diff options
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/factories/chouette_routing_constraint_zones.rb | 7 | ||||
| -rw-r--r-- | spec/features/routing_constraint_zone_spec.rb | 26 | ||||
| -rw-r--r-- | spec/models/chouette/routing_constraint_zone_spec.rb | 13 |
3 files changed, 46 insertions, 0 deletions
diff --git a/spec/factories/chouette_routing_constraint_zones.rb b/spec/factories/chouette_routing_constraint_zones.rb new file mode 100644 index 000000000..9a2529483 --- /dev/null +++ b/spec/factories/chouette_routing_constraint_zones.rb @@ -0,0 +1,7 @@ +FactoryGirl.define do + factory :routing_constraint_zone, class: Chouette::RoutingConstraintZone do + sequence(:name) { |n| "Routing constraint zone #{n}" } + stop_area_ids { [create(:stop_area).id, create(:stop_area).id] } + association :line, factory: :line + end +end diff --git a/spec/features/routing_constraint_zone_spec.rb b/spec/features/routing_constraint_zone_spec.rb new file mode 100644 index 000000000..6d82323e1 --- /dev/null +++ b/spec/features/routing_constraint_zone_spec.rb @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +require 'spec_helper' + +describe 'RoutingConstraintZones', type: :feature do + login_user + + let(:referential) { Referential.first } + let!(:line) { create :line } + let!(:routing_constraint_zones) { Array.new(2) { create :routing_constraint_zone, line: line } } + + describe 'index' do + before(:each) { visit referential_line_routing_constraint_zones_path(referential, line) } + + it 'displays referential routing constraint zones' do + expect(page).to have_content(routing_constraint_zones.first.name) + expect(page).to have_content(routing_constraint_zones.last.name) + end + end + + describe 'show' do + it 'displays referential routing constraint zone' do + visit referential_line_routing_constraint_zone_path(referential, line, routing_constraint_zones.first) + expect(page).to have_content(routing_constraint_zones.first.name) + end + end +end diff --git a/spec/models/chouette/routing_constraint_zone_spec.rb b/spec/models/chouette/routing_constraint_zone_spec.rb new file mode 100644 index 000000000..d991538ba --- /dev/null +++ b/spec/models/chouette/routing_constraint_zone_spec.rb @@ -0,0 +1,13 @@ +require 'spec_helper' + +describe Chouette::RoutingConstraintZone, type: :model do + + subject { create(:routing_constraint_zone) } + + it { is_expected.to validate_presence_of :name } + it { is_expected.to validate_presence_of :stop_area_ids } + it { is_expected.to validate_presence_of :line_id } + # shoulda matcher to validate length of array ? + xit { is_expected.to validate_length_of(:stop_area_ids).is_at_least(2) } + +end |
