diff options
| author | Luc Donnet | 2012-02-15 12:19:35 +0100 |
|---|---|---|
| committer | Luc Donnet | 2012-02-15 12:19:35 +0100 |
| commit | dfd08c9868942f31040f1518a09500ef398e4509 (patch) | |
| tree | 8d632b0d382fa0ed75872fdc41cca7cea4c185de /spec | |
| parent | 3acd3ee699ec4f049d9ef204ab58d9488039a7ee (diff) | |
| download | chouette-core-dfd08c9868942f31040f1518a09500ef398e4509.tar.bz2 | |
Add network and company model
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/factories/chouette_companies.rb | 3 | ||||
| -rw-r--r-- | spec/factories/chouette_networks.rb | 3 | ||||
| -rw-r--r-- | spec/views/companies/edit.html.erb_spec.rb | 35 | ||||
| -rw-r--r-- | spec/views/companies/index.html.erb_spec.rb | 27 | ||||
| -rw-r--r-- | spec/views/companies/new.html.erb_spec.rb | 19 | ||||
| -rw-r--r-- | spec/views/companies/show.html.erb_spec.rb | 29 | ||||
| -rw-r--r-- | spec/views/networks/edit.html.erb_spec.rb | 33 | ||||
| -rw-r--r-- | spec/views/networks/index.html.erb_spec.rb | 20 | ||||
| -rw-r--r-- | spec/views/networks/new.html.erb_spec.rb | 19 | ||||
| -rw-r--r-- | spec/views/networks/show.html.erb_spec.rb | 29 |
10 files changed, 217 insertions, 0 deletions
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 + |
