From dfd08c9868942f31040f1518a09500ef398e4509 Mon Sep 17 00:00:00 2001 From: Luc Donnet Date: Wed, 15 Feb 2012 12:19:35 +0100 Subject: Add network and company model --- spec/factories/chouette_companies.rb | 3 +++ spec/factories/chouette_networks.rb | 3 +++ spec/views/companies/edit.html.erb_spec.rb | 35 +++++++++++++++++++++++++++++ spec/views/companies/index.html.erb_spec.rb | 27 ++++++++++++++++++++++ spec/views/companies/new.html.erb_spec.rb | 19 ++++++++++++++++ spec/views/companies/show.html.erb_spec.rb | 29 ++++++++++++++++++++++++ spec/views/networks/edit.html.erb_spec.rb | 33 +++++++++++++++++++++++++++ spec/views/networks/index.html.erb_spec.rb | 20 +++++++++++++++++ spec/views/networks/new.html.erb_spec.rb | 19 ++++++++++++++++ spec/views/networks/show.html.erb_spec.rb | 29 ++++++++++++++++++++++++ 10 files changed, 217 insertions(+) create mode 100644 spec/factories/chouette_companies.rb create mode 100644 spec/factories/chouette_networks.rb create mode 100644 spec/views/companies/edit.html.erb_spec.rb create mode 100644 spec/views/companies/index.html.erb_spec.rb create mode 100644 spec/views/companies/new.html.erb_spec.rb create mode 100644 spec/views/companies/show.html.erb_spec.rb create mode 100644 spec/views/networks/edit.html.erb_spec.rb create mode 100644 spec/views/networks/index.html.erb_spec.rb create mode 100644 spec/views/networks/new.html.erb_spec.rb create mode 100644 spec/views/networks/show.html.erb_spec.rb (limited to 'spec') diff --git a/spec/factories/chouette_companies.rb b/spec/factories/chouette_companies.rb new file mode 100644 index 000000000..db6ed2b1e --- /dev/null +++ b/spec/factories/chouette_companies.rb @@ -0,0 +1,3 @@ +Factory.define :company, :class => "Chouette::Company" do |f| + f.sequence(:name) { |n| "Company #{n}" } +end diff --git a/spec/factories/chouette_networks.rb b/spec/factories/chouette_networks.rb new file mode 100644 index 000000000..343070868 --- /dev/null +++ b/spec/factories/chouette_networks.rb @@ -0,0 +1,3 @@ +Factory.define :network, :class => "Chouette::Network" do |f| + f.sequence(:name) { |n| "Network #{n}" } +end diff --git a/spec/views/companies/edit.html.erb_spec.rb b/spec/views/companies/edit.html.erb_spec.rb new file mode 100644 index 000000000..98216eb52 --- /dev/null +++ b/spec/views/companies/edit.html.erb_spec.rb @@ -0,0 +1,35 @@ +require 'spec_helper' + +describe "/lines/edit" do + let!(:referential) { assign(:referential, Factory(:referential)) } + let!(:network) { Factory(:network) } + let!(:company) { Factory(:company) } + let!(:line) { assign(:line, Factory(:line, :network => network, :company => company)) } + let!(:lines) { Array.new(2) { Factory(:line, :network => network, :company => company) } } + + describe "test" do + it "should render h2 with the group name" do + render + rendered.should have_selector("h2", :text => Regexp.new(line.name)) + end + end + + describe "form" do + it "should render input for name" do + render + rendered.should have_selector("form") do + with_tag "input[type=text][name='line[name]'][value=?]", line.name + end + end + + it "should render a checkbox for each line" do + render + lines.each do |line| + rendered.should have_selector("form") do + with_tag "input[type='checkbox'][value=?]", line.id + end + end + + end + end +end diff --git a/spec/views/companies/index.html.erb_spec.rb b/spec/views/companies/index.html.erb_spec.rb new file mode 100644 index 000000000..a290080eb --- /dev/null +++ b/spec/views/companies/index.html.erb_spec.rb @@ -0,0 +1,27 @@ +require 'spec_helper' + +describe "/lines/index" do + + let!(:referential) { assign( :referential, Factory(:referential) ) } + let!(:network) { Factory(:network) } + let!(:company) { Factory(:company) } + let!(:lines) { assign( :lines, Array.new(2) { Factory(:line, :network => network, :company => company) } ) } + + before :each do + rendered.stub(:collection).and_return( lines.order_by [[:number, :asc]] ) + view.stub(:link_to_order).and_return( "#" ) + end + + it "should render a show link for each group" do + render + lines.each do |line| + rendered.should have_selector(".line a[href='#{view.referential_line_path(referential, line)}']", :text => line.name) + end + end + + it "should render a link to create a new group" do + render + view.content_for(:sidebar).should have_selector(".actions a[href='#{new_referential_line_path(referential)}']") + end + +end diff --git a/spec/views/companies/new.html.erb_spec.rb b/spec/views/companies/new.html.erb_spec.rb new file mode 100644 index 000000000..48f36a036 --- /dev/null +++ b/spec/views/companies/new.html.erb_spec.rb @@ -0,0 +1,19 @@ +require 'spec_helper' + +describe "/lines/new" do + let!(:referential) { assign(:referential, Factory(:referential)) } + let!(:network) { Factory(:network) } + let!(:company) { Factory(:company) } + let!(:line) { assign(:line, Factory.build(:line, :network => network, :company => company )) } + + describe "form" do + + it "should render input for name" do + render + rendered.should have_selector("form") do + with_selector "input[type=text][name=?]", line.name + end + end + + end +end diff --git a/spec/views/companies/show.html.erb_spec.rb b/spec/views/companies/show.html.erb_spec.rb new file mode 100644 index 000000000..9d5b53cd3 --- /dev/null +++ b/spec/views/companies/show.html.erb_spec.rb @@ -0,0 +1,29 @@ +require 'spec_helper' + +describe "/lines/show" do + + let!(:referential) { assign(:referential, Factory(:referential)) } + let!(:line) { assign(:line, Factory(:line)) } + + it "should render h2 with the line name" do + render + rendered.should have_selector("h2", :text => Regexp.new(line.name)) + end + + # it "should display a map with class 'line'" do + # render + # rendered.should have_selector("#map", :class => 'line') + # end + + it "should render a link to edit the line" do + render + view.content_for(:sidebar).should have_selector(".actions a[href='#{view.edit_referential_line_path(referential, line)}']") + end + + it "should render a link to remove the line" do + render + view.content_for(:sidebar).should have_selector(".actions a[href='#{view.referential_line_path(referential, line)}'][class='remove']") + end + +end + diff --git a/spec/views/networks/edit.html.erb_spec.rb b/spec/views/networks/edit.html.erb_spec.rb new file mode 100644 index 000000000..a64fc6860 --- /dev/null +++ b/spec/views/networks/edit.html.erb_spec.rb @@ -0,0 +1,33 @@ +require 'spec_helper' + +describe "/networks/edit" do + let!(:referential) { assign(:referential, Factory(:referential)) } + let!(:network) { assign(:network, Factory(:network) ) } + let!(:networks) { Array.new(2) { Factory(:network) } } + + describe "test" do + it "should render h2 with the group name" do + render + rendered.should have_selector("h2", :text => Regexp.new(network.name)) + end + end + + describe "form" do + it "should render input for name" do + render + rendered.should have_selector("form") do + with_tag "input[type=text][name='network[name]'][value=?]", network.name + end + end + + it "should render a checkbox for each network" do + render + networks.each do |network| + rendered.should have_selector("form") do + with_tag "input[type='checkbox'][value=?]", network.id + end + end + + end + end +end diff --git a/spec/views/networks/index.html.erb_spec.rb b/spec/views/networks/index.html.erb_spec.rb new file mode 100644 index 000000000..2ad218ca6 --- /dev/null +++ b/spec/views/networks/index.html.erb_spec.rb @@ -0,0 +1,20 @@ +require 'spec_helper' + +describe "/lines/index" do + + let!(:referential) { assign( :referential, Factory(:referential) ) } + let!(:networks) { assign( :networks, Array.new(2) { Factory(:network) } ) } + + it "should render a show link for each group" do + render + networks.each do |network| + rendered.should have_selector(".network a[href='#{view.referential_network_path(referential, network)}']", :text => network.name) + end + end + + it "should render a link to create a new group" do + render + view.content_for(:sidebar).should have_selector(".actions a[href='#{new_referential_network_path(referential)}']") + end + +end diff --git a/spec/views/networks/new.html.erb_spec.rb b/spec/views/networks/new.html.erb_spec.rb new file mode 100644 index 000000000..48f36a036 --- /dev/null +++ b/spec/views/networks/new.html.erb_spec.rb @@ -0,0 +1,19 @@ +require 'spec_helper' + +describe "/lines/new" do + let!(:referential) { assign(:referential, Factory(:referential)) } + let!(:network) { Factory(:network) } + let!(:company) { Factory(:company) } + let!(:line) { assign(:line, Factory.build(:line, :network => network, :company => company )) } + + describe "form" do + + it "should render input for name" do + render + rendered.should have_selector("form") do + with_selector "input[type=text][name=?]", line.name + end + end + + end +end diff --git a/spec/views/networks/show.html.erb_spec.rb b/spec/views/networks/show.html.erb_spec.rb new file mode 100644 index 000000000..9d5b53cd3 --- /dev/null +++ b/spec/views/networks/show.html.erb_spec.rb @@ -0,0 +1,29 @@ +require 'spec_helper' + +describe "/lines/show" do + + let!(:referential) { assign(:referential, Factory(:referential)) } + let!(:line) { assign(:line, Factory(:line)) } + + it "should render h2 with the line name" do + render + rendered.should have_selector("h2", :text => Regexp.new(line.name)) + end + + # it "should display a map with class 'line'" do + # render + # rendered.should have_selector("#map", :class => 'line') + # end + + it "should render a link to edit the line" do + render + view.content_for(:sidebar).should have_selector(".actions a[href='#{view.edit_referential_line_path(referential, line)}']") + end + + it "should render a link to remove the line" do + render + view.content_for(:sidebar).should have_selector(".actions a[href='#{view.referential_line_path(referential, line)}'][class='remove']") + end + +end + -- cgit v1.2.3