diff options
Diffstat (limited to 'spec')
-rw-r--r-- | spec/controllers/admin_public_body_category_controller_spec.rb | 23 | ||||
-rw-r--r-- | spec/controllers/admin_public_body_heading_controller_spec.rb | 11 | ||||
-rw-r--r-- | spec/factories/public_body_categories.rb | 23 | ||||
-rw-r--r-- | spec/factories/public_body_category_links.rb | 13 | ||||
-rw-r--r-- | spec/factories/public_body_headings.rb | 30 |
5 files changed, 84 insertions, 16 deletions
diff --git a/spec/controllers/admin_public_body_category_controller_spec.rb b/spec/controllers/admin_public_body_category_controller_spec.rb index a5518e13c..4f921bb9b 100644 --- a/spec/controllers/admin_public_body_category_controller_spec.rb +++ b/spec/controllers/admin_public_body_category_controller_spec.rb @@ -60,8 +60,11 @@ describe AdminPublicBodyCategoryController do context 'when editing a public body category' do before do - PublicBodyCategory.load_categories - @category = PublicBodyCategory.find_by_title("Useless ministries") + @category = FactoryGirl.create(:useless_category) + I18n.with_locale('es') do + @category.title = 'Los useless ministries' + @category.save! + end end render_views @@ -80,9 +83,16 @@ describe AdminPublicBodyCategoryController do end context 'when updating a public body category' do + before do - PublicBodyCategory.load_categories - @category = PublicBodyCategory.find_by_title("Useless ministries") + @heading = FactoryGirl.create(:silly_heading) + @category = @heading.public_body_categories.detect do |category| + category.title == 'Useless ministries' + end + I18n.with_locale('es') do + @category.title = 'Los useless ministries' + @category.save! + end end render_views @@ -98,7 +108,7 @@ describe AdminPublicBodyCategoryController do it "saves edits to a public body category's heading associations" do @category.public_body_headings.count.should == 1 @category.public_body_headings.first.name.should == "Silly ministries" - heading = PublicBodyHeading.find_by_name("Popular agencies") + heading = FactoryGirl.create(:popular_heading) post :update, { :id => @category.id, :public_body_category => { :title => "Renamed" }, :headings => {"heading_#{heading.id}" => heading.id} } @@ -152,9 +162,6 @@ describe AdminPublicBodyCategoryController do end context 'when destroying a public body category' do - before do - PublicBodyCategory.load_categories - end it "destroys a public body category" do pbc = PublicBodyCategory.create(:title => "Empty Category", :category_tag => "empty", :description => "-") diff --git a/spec/controllers/admin_public_body_heading_controller_spec.rb b/spec/controllers/admin_public_body_heading_controller_spec.rb index 811bd9e74..2a8214703 100644 --- a/spec/controllers/admin_public_body_heading_controller_spec.rb +++ b/spec/controllers/admin_public_body_heading_controller_spec.rb @@ -57,8 +57,7 @@ describe AdminPublicBodyHeadingController do context 'when editing a public body heading' do before do - PublicBodyCategory.load_categories - @heading = PublicBodyHeading.find_by_name("Silly ministries") + @heading = FactoryGirl.create(:silly_heading) end render_views @@ -70,8 +69,7 @@ describe AdminPublicBodyHeadingController do context 'when updating a public body heading' do before do - PublicBodyCategory.load_categories - @heading = PublicBodyHeading.find_by_name("Silly ministries") + @heading = FactoryGirl.create(:silly_heading) end it "saves edits to a public body heading" do @@ -109,12 +107,9 @@ describe AdminPublicBodyHeadingController do end context 'when destroying a public body heading' do - before do - PublicBodyCategory.load_categories - end it "does not destroy a public body heading that has associated categories" do - heading = PublicBodyHeading.find_by_name("Silly ministries") + heading = FactoryGirl.create(:silly_heading) n = PublicBodyHeading.count post :destroy, { :id => heading.id } response.should redirect_to(:controller=>'admin_public_body_heading', :action=>'edit', :id => heading.id) diff --git a/spec/factories/public_body_categories.rb b/spec/factories/public_body_categories.rb new file mode 100644 index 000000000..a69bf912c --- /dev/null +++ b/spec/factories/public_body_categories.rb @@ -0,0 +1,23 @@ + +FactoryGirl.define do + factory :public_body_categories do + + factory :useless_category do + title 'Useless ministries' + category_tag 'useless_agency' + description "a useless ministry" + end + + factory :lonely_category do + title 'Lonely agencies' + category_tag 'lonely_agency' + description "a lonely agency" + end + + factory :popular_category do + title 'Popular agencies' + category_tag 'popular_agency' + description "a popular agency" + end + end +end diff --git a/spec/factories/public_body_category_links.rb b/spec/factories/public_body_category_links.rb new file mode 100644 index 000000000..758dd0c52 --- /dev/null +++ b/spec/factories/public_body_category_links.rb @@ -0,0 +1,13 @@ +FactoryGirl.define do + factory :public_body_category_link do + factory :useless_link do + association :public_body_category, :factory => :useless_category + end + factory :lonely_link do + association :public_body_category, :factory => :lonely_category + end + factory :popular_link do + association :public_body_category, :factory => :popular_category + end + end +end diff --git a/spec/factories/public_body_headings.rb b/spec/factories/public_body_headings.rb new file mode 100644 index 000000000..dda40f207 --- /dev/null +++ b/spec/factories/public_body_headings.rb @@ -0,0 +1,30 @@ +FactoryGirl.define do + factory :public_body_heading do + + factory :silly_heading do + name 'Silly ministries' + display_order 0 + after_create do |heading| + FactoryGirl.create(:useless_link, :public_body_heading => heading, + :category_display_order => 0) + FactoryGirl.create(:lonely_link, :public_body_heading => heading, + :category_display_order => 1) + end + end + + factory :popular_heading do + name 'Popular agencies' + display_order 1 + after_create do |heading| + FactoryGirl.create(:popular_link, :public_body_heading => heading, + :category_display_order => 0) + end + end + + factory :heading_with_no_categories do + name 'Heading with no categories' + display_order 2 + end + + end +end |