# encoding: utf-8 require "spec_helper" describe Refinery do describe "GalleryLinks" do describe "Admin" do describe "gallery_links" do refinery_login_with :refinery_user describe "gallery_links list" do before do FactoryGirl.create(:gallery_link, :title => "UniqueTitleOne") FactoryGirl.create(:gallery_link, :title => "UniqueTitleTwo") end it "shows two items" do visit refinery.gallery_links_admin_gallery_links_path page.should have_content("UniqueTitleOne") page.should have_content("UniqueTitleTwo") end end describe "create" do before do visit refinery.gallery_links_admin_gallery_links_path click_link "Add New Gallery Link" end context "valid data" do it "should succeed" do fill_in "Title", :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::GalleryLinks::GalleryLink.count.should == 1 end end context "invalid data" do it "should fail" do click_button "Save" page.should have_content("Title can't be blank") Refinery::GalleryLinks::GalleryLink.count.should == 0 end end context "duplicate" do before { FactoryGirl.create(:gallery_link, :title => "UniqueTitle") } it "should fail" do visit refinery.gallery_links_admin_gallery_links_path click_link "Add New Gallery Link" fill_in "Title", :with => "UniqueTitle" click_button "Save" page.should have_content("There were problems") Refinery::GalleryLinks::GalleryLink.count.should == 1 end end end describe "edit" do before { FactoryGirl.create(:gallery_link, :title => "A title") } it "should succeed" do visit refinery.gallery_links_admin_gallery_links_path within ".actions" do click_link "Edit this gallery link" end fill_in "Title", :with => "A different title" click_button "Save" page.should have_content("'A different title' was successfully updated.") page.should have_no_content("A title") end end describe "destroy" do before { FactoryGirl.create(:gallery_link, :title => "UniqueTitleOne") } it "should succeed" do visit refinery.gallery_links_admin_gallery_links_path click_link "Remove this gallery link forever" page.should have_content("'UniqueTitleOne' was successfully removed.") Refinery::GalleryLinks::GalleryLink.count.should == 0 end end end end end end