From f37dedaca58ec0a3673ed7f10bf8f5072455680b Mon Sep 17 00:00:00 2001 From: Harald Eilertsen Date: Sat, 21 Nov 2015 17:44:31 +0100 Subject: revert back to form if email delivery fails. --- spec/email_spec.rb | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 spec/email_spec.rb (limited to 'spec') diff --git a/spec/email_spec.rb b/spec/email_spec.rb new file mode 100644 index 0000000..5c4d310 --- /dev/null +++ b/spec/email_spec.rb @@ -0,0 +1,30 @@ +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 + @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 -- cgit v1.2.3