Skip to content

Commit

Permalink
Add users extension to search specs. Make search specs shorter by int…
Browse files Browse the repository at this point in the history
…roducing shared_examples.
  • Loading branch information
ugisozols committed Sep 11, 2012
1 parent cec1a57 commit 7121c04
Showing 1 changed file with 51 additions and 47 deletions.
98 changes: 51 additions & 47 deletions core/spec/requests/refinery/admin/search_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,71 +4,75 @@ module Refinery
describe "search" do
refinery_login_with :refinery_user

context "when searched item exists" do
describe "image extension" do
let!(:image) { FactoryGirl.create(:image) }

it "returns found image" do
visit refinery.admin_images_path
fill_in "search", :with => "beach"
click_button "Search"
shared_examples "no result search" do
it "returns no results" do
fill_in "search", :with => "yada yada"
click_button "Search"
page.should have_content("Sorry, no results found")
end
end

within ".actions" do
page.should have_selector("a[href$='#{image.image_name}']")
end
end
describe "images extension" do
let!(:image) { FactoryGirl.create(:image) }
before do
visit refinery.admin_images_path
end

describe "resource extension" do
before { FactoryGirl.create(:resource) }
it "returns found image" do
fill_in "search", :with => "beach"
click_button "Search"

it "returns found resource" do
visit refinery.admin_resources_path
fill_in "search", :with => "refinery"
click_button "Search"
page.should have_content("Refinery Is Awesome.txt")
within ".actions" do
page.should have_selector("a[href$='#{image.image_name}']")
end
end

describe "page extension" do
before { FactoryGirl.create(:page, :title => "Ugis Ozols") }
it_behaves_like "no result search"
end

it "returns found page" do
visit refinery.admin_pages_path
fill_in "search", :with => "ugis"
click_button "Search"
page.should have_content("Ugis Ozols")
end
describe "resources extension" do
before do
FactoryGirl.create(:resource)
visit refinery.admin_resources_path
end
end

context "when searched item don't exist" do
def shared_stuff
fill_in "search", :with => "yada yada"
it "returns found resource" do
fill_in "search", :with => "refinery"
click_button "Search"
page.should have_content("Sorry, no results found")
page.should have_content("Refinery Is Awesome.txt")
end

describe "image extension" do
it "returns no results" do
visit refinery.admin_images_path
shared_stuff
end
it_behaves_like "no result search"
end

describe "pages extension" do
before do
FactoryGirl.create(:page, :title => "Ugis Ozols")
visit refinery.admin_pages_path
end

describe "resource extension" do
it "returns no results" do
visit refinery.admin_resources_path
shared_stuff
end
it "returns found page" do
fill_in "search", :with => "ugis"
click_button "Search"
page.should have_content("Ugis Ozols")
end

describe "page extension" do
it "returns no results" do
visit refinery.admin_pages_path
shared_stuff
end
it_behaves_like "no result search"
end

describe "users extension" do
before do
FactoryGirl.create(:user, :username => "ugis")
visit refinery.admin_users_path
end

it "returns found user" do
fill_in "search", :with => "ugis"
click_button "Search"
page.should have_content("ugis")
end

it_behaves_like "no result search"
end
end
end

0 comments on commit 7121c04

Please sign in to comment.