blob: 2ffb5bd57da34f3bb28a2b84f696d66eaec46d75 (
plain) (
tree)
|
|
# 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
|