summaryrefslogtreecommitdiffstats
path: root/spec/email_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/email_spec.rb')
-rw-r--r--spec/email_spec.rb30
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