# Band registration form for Norsk Urskog Metal Sampler # Copyright (C) 2015-2018 Harald Eilersen # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . require 'spec_helper' require 'net/smtp' RSpec.describe "sending email" do include Rack::Test::Methods def app RegistrationApp end context "with delivery error" do let(:band_params) { create_band_params } before :each do app.set :accept_registrations, { start: Date.today.iso8601, stop: (Date.today + 30).iso8601 } @mail_spy = spy("Mail") allow(Mail).to receive('new') { @mail_spy } allow(@mail_spy).to receive(:deliver!).and_raise(Net::SMTPFatalError.new("Some error message")) post '/submit', 'band' => band_params end it "goes back to the registration form" do expect(last_response.body).to match(/form id="registration-form"/) end it "shows what went wrong" do expect(last_response.body).to match(/Some error message/) end end end