adds email specs [#23]

This commit is contained in:
rgarcia
2015-08-07 20:58:24 +02:00
parent 0a55a7b6a8
commit 3eac8d0bd8
5 changed files with 137 additions and 0 deletions

View File

@@ -0,0 +1,63 @@
require 'rails_helper'
feature 'Emails' do
background do
reset_mailer
end
scenario "Signup Email" do
sign_up
email = open_last_email
expect(email).to have_subject('Confirmation instructions')
expect(email).to deliver_to('manuela@madrid.es')
expect(email).to have_body_text(user_confirmation_path)
end
scenario "Reset password" do
reset_password
email = open_last_email
expect(email).to have_subject('Reset password instructions')
expect(email).to deliver_to('manuela@madrid.es')
expect(email).to have_body_text(edit_user_password_path)
end
scenario "Debate comment", :js do
user = create(:user, email_on_debate_comment: true)
debate = create(:debate, author: user)
comment_on(debate)
email = open_last_email
expect(email).to have_subject('Someone has commented on your debate')
expect(email).to deliver_to(debate.author)
expect(email).to have_body_text(debate_path(debate))
end
scenario "Comment reply", :js do
user = create(:user, email_on_comment_reply: true)
reply_to(user)
email = open_last_email
expect(email).to have_subject('Someone has replied to your comment')
expect(email).to deliver_to(user)
expect(email).to have_body_text(debate_path(Comment.first.debate))
end
scenario 'Do not send email about debate comment unless set in preferences', :js do
user = create(:user, email_on_debate_comment: false)
debate = create(:debate, author: user)
comment_on(debate)
expect { open_last_email }.to raise_error "No email has been sent!"
end
scenario "Do not send email about comment reply unless set in preferences", :js do
user = create(:user, email_on_comment_reply: false)
reply_to(user)
expect { open_last_email }.to raise_error "No email has been sent!"
end
end