28 lines
1 KiB
Text
28 lines
1 KiB
Text
# frozen_string_literal: true
|
|
|
|
# License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later
|
|
require 'rails_helper'
|
|
|
|
<% output_attributes = attributes.reject{|attribute| [:datetime, :timestamp, :time, :date].index(attribute.type) } -%>
|
|
RSpec.describe "<%= ns_table_name %>/index", <%= type_metatag(:view) %> do
|
|
before(:each) do
|
|
assign(:<%= table_name %>, [
|
|
<% [1,2].each_with_index do |id, model_index| -%>
|
|
<%= class_name %>.create!(<%= 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 -%>
|
|
])
|
|
end
|
|
|
|
it "renders a list of <%= ns_table_name %>" do
|
|
render
|
|
<% for attribute in output_attributes -%>
|
|
assert_select "tr>td", text: <%= value_for(attribute) %>.to_s, count: 2
|
|
<% end -%>
|
|
end
|
|
end
|