diff options
Diffstat (limited to 'spec/email_spec.rb')
-rw-r--r-- | spec/email_spec.rb | 30 |
1 files changed, 30 insertions, 0 deletions
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 |