From da3e849d4d89ffa3de2d370a30d3d5531b50ea5b Mon Sep 17 00:00:00 2001 From: Luc Donnet Date: Mon, 20 Feb 2012 22:44:44 +0100 Subject: Add requests spec, Fix view --- Gemfile | 3 +- Gemfile.lock | 19 +-- app/controllers/chouette_controller.rb | 4 +- app/controllers/companies_controller.rb | 15 +++ app/controllers/referentials_controller.rb | 7 +- app/helpers/title_helper.rb | 2 +- app/models/referential.rb | 22 +++- app/views/companies/_company.erb | 6 + app/views/companies/_form.erb | 19 +-- app/views/companies/_line.erb | 11 -- app/views/companies/edit.html.erb | 2 +- app/views/companies/index.html.erb | 13 +- app/views/companies/new.html.erb | 2 +- app/views/companies/show.html.erb | 38 +++--- app/views/layouts/application.html.erb | 5 +- app/views/lines/_form.erb | 6 +- app/views/lines/edit.html.erb | 2 +- app/views/lines/index.html.erb | 2 +- app/views/lines/index.html.erb~ | 18 --- app/views/lines/new.html.erb | 2 +- app/views/lines/show.html.erb | 8 +- app/views/networks/edit.html.erb | 2 +- app/views/networks/show.html.erb | 40 +++--- app/views/referentials/show.html.erb | 9 +- config/database.yml | 8 +- config/initializers/ninoxe.rb | 54 ++++---- config/locales/companies.yml | 46 +++++++ config/locales/lines.yml | 8 +- config/locales/networks.yml | 4 +- config/locales/referentials.yml | 4 +- config/warble.rb | 142 +++++++++++++++++++++ lib/tasks/warbler.rake | 7 + ...application-6728c025b1babaf8d0ee37d4e69971dd.js | 19 +++ ...lication-6728c025b1babaf8d0ee37d4e69971dd.js.gz | Bin 0 -> 34991 bytes ...pplication-e9fed24cfea5caf7be7c176723e433ec.css | 1 + ...ication-e9fed24cfea5caf7be7c176723e433ec.css.gz | Bin 0 -> 2448 bytes public/assets/application.css | 1 + public/assets/application.css.gz | Bin 0 -> 2369 bytes public/assets/application.js | 19 +++ public/assets/application.js.gz | Bin 0 -> 34991 bytes public/assets/manifest.yml | 12 ++ .../rails-e4b51606cd77fda2615e7439907bfc92.png | Bin 0 -> 6646 bytes public/assets/rails.png | Bin 0 -> 6646 bytes .../ui/add-0745403a8479f8514cd70130d79e2f20.png | Bin 0 -> 733 bytes public/assets/user_interface/ui/add.png | Bin 0 -> 733 bytes .../download-ad3a34f49eb4683116303565b96c74da.png | Bin 0 -> 1089 bytes public/assets/user_interface/ui/download.png | Bin 0 -> 1089 bytes .../ui/edit-ef29c01716f6ac9f97862483a4b96d0f.png | Bin 0 -> 450 bytes public/assets/user_interface/ui/edit.png | Bin 0 -> 450 bytes .../ui/kml-756323dc227d0912c1af27280b447b08.png | Bin 0 -> 1049 bytes public/assets/user_interface/ui/kml.png | Bin 0 -> 1049 bytes .../ui/notice-033defb9e9fca2d39248d09c366771a5.png | Bin 0 -> 834 bytes public/assets/user_interface/ui/notice.png | Bin 0 -> 834 bytes .../ui/remove-caf847f872af840786e3713d3c6bf90d.png | Bin 0 -> 868 bytes public/assets/user_interface/ui/remove.png | Bin 0 -> 868 bytes .../ui/viewer-996cd206b8273907440857745e47bc02.png | Bin 0 -> 1307 bytes public/assets/user_interface/ui/viewer.png | Bin 0 -> 1307 bytes .../warning-99e5c8bbc52ed6896b8e6fdff991cb79.png | Bin 0 -> 666 bytes public/assets/user_interface/ui/warning.png | Bin 0 -> 666 bytes spec/factories/chouette_companies.rb | 5 +- spec/factories/chouette_lines.rb | 1 + spec/factories/chouette_networks.rb | 5 +- spec/factories/chouette_stop_areas.rb | 14 +- spec/requests/companies_spec.rb | 14 ++ spec/requests/lines_spec.rb | 15 +++ spec/requests/networks_spec.rb | 14 ++ spec/requests/referentials_spec.rb | 47 +++++-- spec/spec_helper.rb | 15 +++ spec/views/companies/edit.html.erb_spec.rb | 25 +--- spec/views/companies/index.html.erb_spec.rb | 17 +-- spec/views/companies/new.html.erb_spec.rb | 8 +- spec/views/companies/show.html.erb_spec.rb | 20 +-- spec/views/networks/edit.html.erb_spec.rb | 10 -- spec/views/networks/index.html.erb_spec.rb | 2 +- spec/views/networks/new.html.erb_spec.rb | 8 +- spec/views/networks/show.html.erb_spec.rb | 20 +-- 76 files changed, 571 insertions(+), 251 deletions(-) create mode 100644 app/views/companies/_company.erb delete mode 100644 app/views/companies/_line.erb delete mode 100644 app/views/lines/index.html.erb~ create mode 100644 config/locales/companies.yml create mode 100644 config/warble.rb create mode 100644 lib/tasks/warbler.rake create mode 100644 public/assets/application-6728c025b1babaf8d0ee37d4e69971dd.js create mode 100644 public/assets/application-6728c025b1babaf8d0ee37d4e69971dd.js.gz create mode 100644 public/assets/application-e9fed24cfea5caf7be7c176723e433ec.css create mode 100644 public/assets/application-e9fed24cfea5caf7be7c176723e433ec.css.gz create mode 100644 public/assets/application.css create mode 100644 public/assets/application.css.gz create mode 100644 public/assets/application.js create mode 100644 public/assets/application.js.gz create mode 100644 public/assets/manifest.yml create mode 100644 public/assets/rails-e4b51606cd77fda2615e7439907bfc92.png create mode 100644 public/assets/rails.png create mode 100644 public/assets/user_interface/ui/add-0745403a8479f8514cd70130d79e2f20.png create mode 100644 public/assets/user_interface/ui/add.png create mode 100644 public/assets/user_interface/ui/download-ad3a34f49eb4683116303565b96c74da.png create mode 100644 public/assets/user_interface/ui/download.png create mode 100644 public/assets/user_interface/ui/edit-ef29c01716f6ac9f97862483a4b96d0f.png create mode 100644 public/assets/user_interface/ui/edit.png create mode 100644 public/assets/user_interface/ui/kml-756323dc227d0912c1af27280b447b08.png create mode 100644 public/assets/user_interface/ui/kml.png create mode 100644 public/assets/user_interface/ui/notice-033defb9e9fca2d39248d09c366771a5.png create mode 100644 public/assets/user_interface/ui/notice.png create mode 100644 public/assets/user_interface/ui/remove-caf847f872af840786e3713d3c6bf90d.png create mode 100644 public/assets/user_interface/ui/remove.png create mode 100644 public/assets/user_interface/ui/viewer-996cd206b8273907440857745e47bc02.png create mode 100644 public/assets/user_interface/ui/viewer.png create mode 100644 public/assets/user_interface/ui/warning-99e5c8bbc52ed6896b8e6fdff991cb79.png create mode 100644 public/assets/user_interface/ui/warning.png create mode 100644 spec/requests/companies_spec.rb create mode 100644 spec/requests/lines_spec.rb create mode 100644 spec/requests/networks_spec.rb diff --git a/Gemfile b/Gemfile index b1b3076db..324dffd71 100644 --- a/Gemfile +++ b/Gemfile @@ -54,7 +54,6 @@ gem 'chouette-ninoxe', :git => 'git://chouette.dryade.priv/ninoxe' #gem 'chouette-ninoxe', :path => '/home/luc/projects/ninoxe' group :development do -# gem 'less' gem 'autotest-rails' gem 'autotest-notification' gem 'capistrano' @@ -78,6 +77,8 @@ group :cucumber do end group :test, :cucumber do + gem 'capybara' + gem 'launchy' gem 'database_cleaner' gem 'factory_girl_rails' gem 'factory_girl' diff --git a/Gemfile.lock b/Gemfile.lock index 6e9a9c6b1..9828b8ffb 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,3 +1,13 @@ +GIT + remote: git://chouette.dryade.priv/ninoxe + revision: 43d9b18e35b62004b5f5f86ba4679d6592b3454c + specs: + chouette-ninoxe (0.0.8) + GeoRuby + activerecord + composite_primary_keys + geokit + GIT remote: git://github.com/dryade/activerecord-jdbc-adapter.git revision: 5b45a0a417e146e92db8c57b5c600cdeb9e957bf @@ -43,15 +53,6 @@ GIT user_interface (0.0.1) rails (~> 3.1.0) -PATH - remote: /home/luc/projects/ninoxe - specs: - chouette-ninoxe (0.0.8) - GeoRuby - activerecord - composite_primary_keys - geokit - GEM remote: http://rubygems.org/ specs: diff --git a/app/controllers/chouette_controller.rb b/app/controllers/chouette_controller.rb index 051e2fd77..1b9f30a85 100644 --- a/app/controllers/chouette_controller.rb +++ b/app/controllers/chouette_controller.rb @@ -7,7 +7,7 @@ class ChouetteController < InheritedResources::Base end def referential - @referential = Referential.find params[:referential_id] + @referential ||= Referential.find params[:referential_id] end -end \ No newline at end of file +end diff --git a/app/controllers/companies_controller.rb b/app/controllers/companies_controller.rb index 3cb440ea2..4fb83d789 100644 --- a/app/controllers/companies_controller.rb +++ b/app/controllers/companies_controller.rb @@ -4,4 +4,19 @@ class CompaniesController < ChouetteController respond_to :xml respond_to :json + # def update + # update! do |success, failure| + # failure.html { redirect_to referential_companies_path(@resource, @referential) } + # end + # end + + protected + + + # def resource_url(company = nil) + # puts "########################################" + # puts referential_company_path(referential, company || @resource).inspect + # referential_company_path(referential, company || @resource) + # end + end diff --git a/app/controllers/referentials_controller.rb b/app/controllers/referentials_controller.rb index 539c7ca5d..a5e3b7247 100644 --- a/app/controllers/referentials_controller.rb +++ b/app/controllers/referentials_controller.rb @@ -1,9 +1,4 @@ class ReferentialsController < InheritedResources::Base - - before_filter :switch_referential - - def switch_referential - Apartment::Database.switch(referential.slug) - end + respond_to :html end diff --git a/app/helpers/title_helper.rb b/app/helpers/title_helper.rb index f5219276b..2203151a3 100644 --- a/app/helpers/title_helper.rb +++ b/app/helpers/title_helper.rb @@ -7,7 +7,7 @@ module TitleHelper @title end end - + def title_tag(title, options = nil) content_tag :h2, title(title), options end diff --git a/app/models/referential.rb b/app/models/referential.rb index 430785470..a329bf950 100644 --- a/app/models/referential.rb +++ b/app/models/referential.rb @@ -2,9 +2,29 @@ class Referential < ActiveRecord::Base validates_presence_of :name validates_presence_of :slug + before_create :create_schema + before_destroy :destroy_schema + def lines Chouette::Line.all - end + end + + def networks + Chouette::Network.all + end + + def companies + Chouette::Company.all + end + + private + + def create_schema + Apartment::Database.create self.slug + end + def destroy_schema + Apartment::Database.drop self.slug + end end diff --git a/app/views/companies/_company.erb b/app/views/companies/_company.erb new file mode 100644 index 000000000..9d4683414 --- /dev/null +++ b/app/views/companies/_company.erb @@ -0,0 +1,6 @@ +<%= div_for(company) do %> + <%= link_to company.name, [@referential, company] %> +
+ +
+<% end %> diff --git a/app/views/companies/_form.erb b/app/views/companies/_form.erb index 19a3b8b84..7e90e7259 100644 --- a/app/views/companies/_form.erb +++ b/app/views/companies/_form.erb @@ -1,13 +1,14 @@ -<%= semantic_form_for [@referential, @line] do |form| %> - <%= form.inputs do %> - <%= form.input :network, :as => :select, :collection => Chouette::Network.all, :include_blank => false %> - <%= form.input :company, :as => :select, :collection => Chouette::Company.all, :include_blank => false%> - <%= form.input :registrationnumber %> +<%= semantic_form_for [@referential, @company] do |form| %> + <%= form.inputs do %> <%= form.input :name %> - <%= form.input :publishedname %> - <%= form.input :number %> - <%= form.input :transportmodename, :as => :select, :collection => Chouette::TransportMode.definitions, :include_blank => false, :member_label => Proc.new { |a| t("#{a[0]}") } %> - <%= form.input :comment, :as => :text %> + <%= form.input :registration_number %> + <%= form.input :short_name %> + <%= form.input :organizational_unit %> + <%= form.input :operating_department_name %> + <%= form.input :code %> + <%= form.input :phone, :as => :phone %> + <%= form.input :fax, :as => :phone %> + <%= form.input :email, :as => :email %> <% end %> <%= form.buttons do %> diff --git a/app/views/companies/_line.erb b/app/views/companies/_line.erb deleted file mode 100644 index f594c7f9d..000000000 --- a/app/views/companies/_line.erb +++ /dev/null @@ -1,11 +0,0 @@ -<%= div_for(line) do %> - <%= link_to([@referential, line], :class => "preview") do %> -
-
<%= line.number %>
-
- <% end %> - <%= link_to line.name, [@referential, line] %> -
- -
-<% end %> diff --git a/app/views/companies/edit.html.erb b/app/views/companies/edit.html.erb index 491a821fa..797509787 100644 --- a/app/views/companies/edit.html.erb +++ b/app/views/companies/edit.html.erb @@ -1,3 +1,3 @@ -<%= title_tag "Modifier la Ligne #{@line.name}" %> +<%= title_tag t('companies.edit.title', :company => @company.name) %> <%= render "form" %> diff --git a/app/views/companies/index.html.erb b/app/views/companies/index.html.erb index 03f5331e0..b20804fa0 100644 --- a/app/views/companies/index.html.erb +++ b/app/views/companies/index.html.erb @@ -1,17 +1,10 @@ -
- Trier par - <%= link_to_order "Code", "code" %> | - <%= link_to_order "Priorité", "priority" %> | - <%= link_to_order "Nom", "name" %> -
+<%= title_tag t('companies.title.index') %> -<%= title_tag Chouette::Line.model_name.human.pluralize %> - -<%= render :partial => "line", :collection => @lines %> +<%= render :partial => "company", :collection => @companies %> <% content_for :sidebar do %> <% end %> diff --git a/app/views/companies/new.html.erb b/app/views/companies/new.html.erb index d580a2aae..a1332ff3a 100644 --- a/app/views/companies/new.html.erb +++ b/app/views/companies/new.html.erb @@ -1,3 +1,3 @@ -<%= title_tag "Créer la Ligne" %> +<%= title_tag t('companies.new.title') %> <%= render "form" %> diff --git a/app/views/companies/show.html.erb b/app/views/companies/show.html.erb index f0d987d3f..4dd9e0a21 100644 --- a/app/views/companies/show.html.erb +++ b/app/views/companies/show.html.erb @@ -1,47 +1,47 @@ -<%= title_tag @line.name %> +<%= title_tag t('companies.show.title', :company => @company.name) %>

- - <%= @line.network.name if @line.network.present? %> + + <%= @company.registration_number %>

- - <%= @line.company.name if @line.company.present? %> + + <%= @company.name %>

- - <%= @line.registrationnumber %> + + <%= @company.short_name %>

- - <%= @line.name %> + + <%= @company.organizational_unit %>

- - <%= @line.publishedname %> + + <%= @company.operating_department_name %>

- - <%= @line.number %> + + <%= @company.phone %>

- - <%= @line.transportmodename %> + + <%= @company.fax %>

- - <%= @line.comment %> + + <%= @company.email %>

<% content_for :sidebar do %> <% end %> diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 50633675d..6fd73ef0d 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -11,12 +11,15 @@