spec/web/views/books/new_spec.rb (12 lines of code) (raw):
RSpec.describe Web::Views::Books::New, type: :view do
let(:params) { OpenStruct.new(valid?: false, error_messages: ['Title must be filled', 'Author must be filled']) }
let(:exposures) { Hash[params: params] }
let(:template) { Hanami::View::Template.new('apps/web/templates/books/new.html.erb') }
let(:view) { described_class.new(template, exposures) }
let(:rendered) { view.render }
it 'displays list of errors when params contains errors' do
expect(rendered).to include('There was a problem with your submission')
expect(rendered).to include('Title must be filled')
expect(rendered).to include('Author must be filled')
end
end