diff --git a/README.md b/README.md index 0ec4da8..caaebda 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,13 @@ Make your Rails Capybara testing even faster and more accurate! Looking for text ## Your Views +It's easier to find things in Capybara tests if you add extra `data` attributes to fields and such. +This gem does that for you if you link to and refer to things in a certain way. If you do, your +tests turn from text blob and CSS selector messes to nice, clean, simple references to objects +and attributes. + +### Attributes + Write out attributes using `attributes_for`: ``` haml @@ -22,3 +29,24 @@ visit object_path(@object) find_attribute(:name, @object.name) find_attribute(:description, @object.description) ``` + +You can even make simple tables, a la Active Admin: + +``` haml +#object + = attributes_table_for object do |f| + = f.field :name + = f.field :description +``` + +## Not Finding Things + +Sometimes the absence of a thing is just as important as the presence of a thing. Make it easy on yourself: + +``` ruby +# selector's not there + +dont_find('#user') + +# object's not there +``` diff --git a/lib/semantic_rails_view_helpers/engine.rb b/lib/semantic_rails_view_helpers/engine.rb index a789d2f..3713f95 100644 --- a/lib/semantic_rails_view_helpers/engine.rb +++ b/lib/semantic_rails_view_helpers/engine.rb @@ -2,10 +2,10 @@ require 'semantic_rails_view_helpers/view_helpers' module SemanticRailsViewHelpers class Engine < ::Rails::Engine - initializer 'semantic_rails_view_helpers.initialize' do |app| + initializer 'semantic_rails_view_helpers.initialize', :before => :load_config_initializers do |app| ActionView::Base.send :include, SemanticRailsViewHelpers::ViewHelpers - app.config.add_semantic_data = false + app.config.add_semantic_data = false if app.config.add_semantic_data.blank? end end end diff --git a/lib/semantic_rails_view_helpers/view_helpers.rb b/lib/semantic_rails_view_helpers/view_helpers.rb index 51ddf97..560e659 100644 --- a/lib/semantic_rails_view_helpers/view_helpers.rb +++ b/lib/semantic_rails_view_helpers/view_helpers.rb @@ -71,7 +71,7 @@ module SemanticRailsViewHelpers def semantic_action_data(action) SemanticRailsViewHelpers.with_semantic_data do - { "data-action" => target_action } + { "data-action" => action } end end diff --git a/semantic_rails_view_helpers.gemspec b/semantic_rails_view_helpers.gemspec index 807dde7..a2746fa 100644 --- a/semantic_rails_view_helpers.gemspec +++ b/semantic_rails_view_helpers.gemspec @@ -14,4 +14,7 @@ Gem::Specification.new do |gem| gem.name = "semantic_rails_view_helpers" gem.require_paths = ["lib"] gem.version = SemanticRailsViewHelpers::VERSION + + gem.add_dependency 'capybara' + gem.add_dependency 'rspec' end