31 lines
1.3 KiB
Ruby
31 lines
1.3 KiB
Ruby
|
# 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 %>/edit", <%= type_metatag(:view) %> do
|
||
|
before(:each) do
|
||
|
@<%= ns_file_name %> = assign(:<%= ns_file_name %>, <%= class_name %>.create!(<%= '))' if output_attributes.empty? %>
|
||
|
<% output_attributes.each_with_index do |attribute, attribute_index| -%>
|
||
|
<%= attribute.name %>: <%= attribute.default.inspect %><%= attribute_index == output_attributes.length - 1 ? '' : ','%>
|
||
|
<% end -%>
|
||
|
<%= output_attributes.empty? ? "" : " ))\n" -%>
|
||
|
end
|
||
|
|
||
|
it "renders the edit <%= ns_file_name %> form" do
|
||
|
render
|
||
|
|
||
|
assert_select "form[action=?][method=?]", <%= ns_file_name %>_path(@<%= ns_file_name %>), "post" do
|
||
|
<% for attribute in output_attributes -%>
|
||
|
<%- name = attribute.respond_to?(:column_name) ? attribute.column_name : attribute.name %>
|
||
|
<% if Rails.version.to_f >= 5.1 -%>
|
||
|
assert_select "<%= attribute.input_type -%>[name=?]", "<%= ns_file_name %>[<%= name %>]"
|
||
|
<% else -%>
|
||
|
assert_select "<%= attribute.input_type -%>#<%= ns_file_name %>_<%= name %>[name=?]", "<%= ns_file_name %>[<%= name %>]"
|
||
|
<% end -%>
|
||
|
<% end -%>
|
||
|
end
|
||
|
end
|
||
|
end
|