aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorvlatka pavisic2016-12-12 15:49:52 +0100
committervlatka pavisic2016-12-12 15:49:58 +0100
commit2d4e6b45b0295e8c01deaebb04f8be009a7f9d87 (patch)
treeefb5139d08a29e9e0c9017b35d34ca8aa611f34d /spec
parent73ab4dfc33dcf6b32198ae902fea3f8504821dea (diff)
downloadchouette-core-2d4e6b45b0295e8c01deaebb04f8be009a7f9d87.tar.bz2
Refs #1955 : RoutingConstraintZone
Diffstat (limited to 'spec')
-rw-r--r--spec/factories/chouette_routing_constraint_zones.rb7
-rw-r--r--spec/features/routing_constraint_zone_spec.rb26
-rw-r--r--spec/models/chouette/routing_constraint_zone_spec.rb13
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