= Rspec Cells
Spec your Cells.
{}[http://travis-ci.org/apotonick/rspec-cells]
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}[http://github.com/apotonick/cells].
= 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"
= 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 have_button("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 have_button("Create Post") }
it { should_not have_field("Search by Title") }
end
end
You can see all capybara matchers and finders {here}[http://rubydoc.info/github/jnicklas/capybara/master/Capybara/Node/Simple].
== Running the specs
Run your examples with
rake spec:cells
If you need more helpers, matchers and stuff, {just let us know}[http://cells.rubyforge.org/community.html].
== Contributors
* Jorge Calás Lozano (Cleanup, capybara string matchers)
== LICENSE
Copyright (c) 2010, Nick Sutterer
Copyright (c) 2007-2009, Dmytro Shteflyuk http://kpumuk.info
Released under the MIT License.