logo

mastofe

My custom branche(s) on git.pleroma.social/pleroma/mastofe
commit: 509b0cfafc0857538d63f4b93b26462f035d458b
parent: fda5c699c2d1165381da87ffe12ebc92e6529f47
Author: Yamagishi Kazutoshi <ykzts@desire.sh>
Date:   Fri,  2 Jun 2017 00:25:59 +0900

Add scenarios for log in (#3497)


Diffstat:

Mspec/features/log_in_spec.rb40++++++++++++++++++++++++++++++++++------
1 file changed, 34 insertions(+), 6 deletions(-)

diff --git a/spec/features/log_in_spec.rb b/spec/features/log_in_spec.rb @@ -1,19 +1,47 @@ require "rails_helper" feature "Log in" do - given(:email) { "test@examle.com" } - given(:password) { "password" } + given(:email) { "test@examle.com" } + given(:password) { "password" } + given(:confirmed_at) { Time.now } background do - Fabricate(:user, email: email, password: password) + Fabricate(:user, email: email, password: password, confirmed_at: confirmed_at) + visit new_user_session_path end + subject { page } + scenario "A valid email and password user is able to log in" do - visit new_user_session_path fill_in "user_email", with: email fill_in "user_password", with: password - click_on "Log in" + click_on I18n.t('auth.login') + + is_expected.to have_css("div.app-holder") + end + + scenario "A invalid email and password user is not able to log in" do + fill_in "user_email", with: "invalid_email" + fill_in "user_password", with: "invalid_password" + click_on I18n.t('auth.login') + + is_expected.to have_css(".flash-message", text: failure_message("invalid")) + end + + context do + given(:confirmed_at) { nil } + + scenario "A unconfirmed user is not able to log in" do + fill_in "user_email", with: email + fill_in "user_password", with: password + click_on I18n.t('auth.login') + + is_expected.to have_css(".flash-message", text: failure_message("unconfirmed")) + end + end - expect(page).to have_css "div.app-holder" + def failure_message(message) + keys = User.authentication_keys.map { |key| User.human_attribute_name(key) } + I18n.t("devise.failure.#{message}", authentication_keys: keys.join("support.array.words_connector")) end end