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.
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
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 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
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.
Run your examples with
rake spec:cells
If you need more helpers, matchers and stuff, just let us know.
-
Jorge Calás Lozano <[email protected]> (Cleanup, capybara string matchers)
Copyright © 2010, Nick Sutterer
Copyright © 2007-2009, Dmytro Shteflyuk <[email protected]> kpumuk.info
Released under the MIT License.