Rspec Cells
Spec your Cells.
<img src=“https://secure.travis-ci.org/apotonick/rspec-cells.png” />
This plugin allows you to test your cells easily using RSpec. Basically, it adds a cells example group with a #render_cell
helper.
Cells is Rails’ popular view components framework.
Installation
This gem runs with RSpec2 and Rails 3.x, so just add it to your app’s Gemfile
.
group :test do
gem "rspec-cells"
end
Usage
Simply put all your specs in the spec/cells
directory. However, let the cell generator do that for you!
rails g cell blog_post show -t rspec
will create an exemplary spec/cells/blog_post_cell_spec.rb
for you.
Webrat
Webrat matchers just work as you might have expected - here is how a simple spec could look like.
describe PostsCell do
it "should render the posts count" do
render_cell(:posts, :count).should have_selector("p", :content => "4 posts!")
end
end
Capybara
If you want Capybara’s string matchers be sure to bundle at least capybara 0.4.1
in your Gemfile.
gem "capybara", "~> 0.4.1"
You can then use capybara’s matchers in your cell spec.
describe PostsCell do
describe "search posts" do
let(:search) { render_cell(:posts, :search) }
it "should have a search field" do
search.should have_field("Search by Title")
end
it "should have a search button" do
search.should ("Search")
end
end
describe "latest posts" do
subject { render_cell(:posts, :latest) }
it { should have_css("h3.title", :text => "Latest Posts") }
it { should have_table("latest_posts") }
it { should have_link("View all Posts") }
it { should_not ("Create Post") }
it { should_not have_field("Search by Title") }
end
end
You can see all capybara matchers and finders here.
Running the specs
Run your examples with
rake spec:cells
If you need more helpers, matchers and stuff, just let us know.
Contributors
-
Jorge Calás Lozano <[email protected]> (Cleanup, capybara string matchers)
LICENSE
Copyright © 2010, Nick Sutterer
Copyright © 2007-2009, Dmytro Shteflyuk <[email protected]> kpumuk.info
Released under the MIT License.