From 56d7747f54e86993415b76c92e101608e5ea44e2 Mon Sep 17 00:00:00 2001 From: James Thompson Date: Wed, 14 Mar 2012 11:40:16 +0200 Subject: initial commit --- .../refinery/banners/admin/banners_spec.rb | 101 +++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 spec/requests/refinery/banners/admin/banners_spec.rb (limited to 'spec/requests/refinery/banners/admin/banners_spec.rb') diff --git a/spec/requests/refinery/banners/admin/banners_spec.rb b/spec/requests/refinery/banners/admin/banners_spec.rb new file mode 100644 index 0000000..2ffb5bd --- /dev/null +++ b/spec/requests/refinery/banners/admin/banners_spec.rb @@ -0,0 +1,101 @@ +# encoding: utf-8 +require "spec_helper" + +describe Refinery do + describe "Banners" do + describe "Admin" do + describe "banners" do + login_refinery_user + + describe "banners list" do + before(:each) do + FactoryGirl.create(:banner, :name => "UniqueTitleOne") + FactoryGirl.create(:banner, :name => "UniqueTitleTwo") + end + + it "shows two items" do + visit refinery.banners_admin_banners_path + page.should have_content("UniqueTitleOne") + page.should have_content("UniqueTitleTwo") + end + end + + describe "create" do + before(:each) do + visit refinery.banners_admin_banners_path + + click_link "Add New Banner" + end + + context "valid data" do + it "should succeed" do + fill_in "Name", :with => "This is a test of the first string field" + click_button "Save" + + page.should have_content("'This is a test of the first string field' was successfully added.") + Refinery::Banners::Banner.count.should == 1 + end + end + + context "invalid data" do + it "should fail" do + click_button "Save" + + page.should have_content("Name can't be blank") + Refinery::Banners::Banner.count.should == 0 + end + end + + context "duplicate" do + before(:each) { FactoryGirl.create(:banner, :name => "UniqueTitle") } + + it "should fail" do + visit refinery.banners_admin_banners_path + + click_link "Add New Banner" + + fill_in "Name", :with => "UniqueTitle" + click_button "Save" + + page.should have_content("There were problems") + Refinery::Banners::Banner.count.should == 1 + end + end + + end + + describe "edit" do + before(:each) { FactoryGirl.create(:banner, :name => "A name") } + + it "should succeed" do + visit refinery.banners_admin_banners_path + + within ".actions" do + click_link "Edit this banner" + end + + fill_in "Name", :with => "A different name" + click_button "Save" + + page.should have_content("'A different name' was successfully updated.") + page.should have_no_content("A name") + end + end + + describe "destroy" do + before(:each) { FactoryGirl.create(:banner, :name => "UniqueTitleOne") } + + it "should succeed" do + visit refinery.banners_admin_banners_path + + click_link "Remove this banner forever" + + page.should have_content("'UniqueTitleOne' was successfully removed.") + Refinery::Banners::Banner.count.should == 0 + end + end + + end + end + end +end -- cgit v1.2.3