Sha256: e967b377907e41ccb639015cb5a0cf7db988a8983445c5d90bf57d68ecd46f54

Contents?: true

Size: 1.41 KB

Versions: 4

Compression:

Stored size: 1.41 KB

Contents

require 'spec_helper'

<% output_attributes = attributes.reject{|attribute| [:datetime, :timestamp, :time, :date].index(attribute.type) } -%>
describe "<%= table_name %>/index.html.haml" do
  before(:each) do
    assign(:<%= table_name %>, [
<% [1,2].each_with_index do |id, model_index| -%>
      stub_model(<%= class_name %><%= output_attributes.empty? ? (model_index == 1 ? ')' : '),') : ',' %>
<% output_attributes.each_with_index do |attribute, attribute_index| -%>
        :<%= attribute.name %> => <%= value_for(attribute) %><%= attribute_index == output_attributes.length - 1 ? '' : ','%>
<% end -%>
<% if !output_attributes.empty? -%>
      <%= model_index == 1 ? ')' : '),' %>
<% end -%>
<% end -%>
    ])
<% if child_model? %>
    <%=parent_class%>.stub(:find).with(anything()) {john_q :<%=parent_name%>}
<% end %>
  end

  it "renders a list of <%= table_name %>" do
<% if belongs_to %>
    params[:<%=parent_id%>] = john_q(:<%=parent_name%>).id
    @<%= parent_name %> = assign(:<%=parent_name%>, john_q(:<%=parent_name%>))
<% end %>
    render
<% for attribute in output_attributes -%>
<% if webrat? -%>
    rendered.should have_selector("tr>td", :content => <%= value_for(attribute) %>.to_s, :count => 2)
<% else -%>
    # Run the generator again with the --webrat-matchers flag if you want to use webrat matchers
    assert_select "tr>td", :text => <%= value_for(attribute) %>.to_s, :count => 2
<% end -%>
<% end -%>
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
my_generators-0.0.4 lib/generators/my_spec/scaffold/templates/index_spec.rb
my_generators-0.0.3 lib/generators/my_spec/scaffold/templates/index_spec.rb
my_generators-0.0.2 lib/generators/my_spec/scaffold/templates/index_spec.rb
my_generators-0.0.1 lib/generators/my_spec/scaffold/templates/index_spec.rb