Sha256: a8992b699f9d03722928831092fff6c4c8150c85f067bc8369fdb7149b4738c3

Contents?: true

Size: 1.96 KB

Versions: 8

Compression:

Stored size: 1.96 KB

Contents

require 'rails_helper'
require 'ecm/user_area/spec_helper'

feature 'User Area -> Registration' do
  include Ecm::UserArea::SpecHelper

  background do
    I18n.locale = :de
  end

  describe 'new registration' do
    context 'when not signed in' do
      background do
        @user_attributes = attributes_for(:ecm_user_area_user)
      end

      it 'should create a user' do
        expect { sign_up(@user_attributes) }.to change { Ecm::UserArea::User.count }.from(0).to(1)
      end

      it 'should redirect to root' do
        sign_up(@user_attributes)
        expect(page.current_path).to eq('/de/auth/user_session/new')
      end

      it 'should show a success message' do
        sign_up(@user_attributes)
        expect(page.body).to include(I18n.t('messages.confirmations.ecm_user_area.send_instructions'))
      end
    end
  end

  describe 'editing a registration' do
    context 'when signed in' do
      background do
        @user = Ecm::UserArea::CreateDefaultUserService.call.user
        sign_in(@user)
      end

      it 'should allow access' do
        visit '/de/auth/user/edit'
        page.current_path.should eq('/de/auth/user/edit')
      end

      context 'changing email' do
        background do
          visit '/de/auth/user/edit'
        end

        it do
          expect do
            fill_in 'user[email]', with: 'new@example.com'
            click_on submit(:user, :update)
          end.to change {
            @user.reload
            @user.email
          }.from(@user.email).to('new@example.com')
        end

        it 'should sign out' do
          fill_in 'user[email]', with: 'new@example.com'
          click_on submit(:user, :update)

          expect(page.current_path).to eq('/de/auth/user_session/new')
        end
      end
    end

    context 'when not signed in' do
      it 'should redirect to the sign in page' do
        visit '/de/auth/user/edit'
        page.current_path.should eq('/de/auth/user_session/new')
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
ecm_user_area2-2.3.0 spec/features/registration_feature_spec.rb
ecm_user_area2-2.2.0 spec/features/registration_feature_spec.rb
ecm_user_area2-2.0.0 spec/features/registration_feature_spec.rb
ecm_user_area2-1.2.10 spec/features/registration_feature_spec.rb
ecm_user_area2-1.2.9 spec/features/registration_feature_spec.rb
ecm_user_area2-1.2.8 spec/features/registration_feature_spec.rb
ecm_user_area2-1.2.6 spec/features/registration_feature_spec.rb
ecm_user_area2-1.0.3 spec/features/registration_feature_spec.rb