Sha256: c645fde71b23a84d4f0994b1aade195bbdec7f3b3890daddc63d93ba517046d2

Contents?: true

Size: 1.5 KB

Versions: 39

Compression:

Stored size: 1.5 KB

Contents

# require_relative '../spec_helper.rb'
module Symphonia
  describe User, logged: :admin do
    let(:admin_user) { FactoryBot.create(:user, :admin) }
    subject { 'user' }

    let(:route) { symphonia }
    include_examples 'a requests', :mail

    let(:current_user) { described_class.send(:current) }
    context 'permissions', logged: true do
      let(:regular_user) { FactoryBot.create(:user) }
      let(:user) { FactoryBot.create(subject) }

      it '#account' do
        expect(current_user.admin?).to eq false
        get symphonia.account_path
        expect(response).to have_http_status :success
      end

      it '#show' do
        expect(current_user.admin?).to eq false
        get symphonia.polymorphic_path(current_user)
        expect(response).to have_http_status :success
      end

      it '#show without permissions' do
        expect(current_user.admin?).to eq false
        expect(current_user.id).not_to eq user.id
        get symphonia.polymorphic_path user
        expect(response).to have_http_status :forbidden
      end

      context '#update' do
        it 'own profile' do
          put symphonia.polymorphic_path(Symphonia::User.current, params: { subject => { email: Faker::Internet.unique.email } })
          expect(response).to redirect_to Symphonia::User.current
        end

        it 'another use' do
          put symphonia.polymorphic_path(user, params: { subject => { password: '1234' } })
          expect(response).to have_http_status :forbidden
        end
      end
    end

  end

end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
symphonia-6.0.6 spec/requests/users_spec.rb
symphonia-6.0.5 spec/requests/users_spec.rb
symphonia-6.0.2 spec/requests/users_spec.rb
symphonia-6.0.1 spec/requests/users_spec.rb
symphonia-6.0.0 spec/requests/users_spec.rb
symphonia-5.0.6 spec/requests/users_spec.rb
symphonia-5.0.5 spec/requests/users_spec.rb
symphonia-5.0.4 spec/requests/users_spec.rb
symphonia-5.0.3 spec/requests/users_spec.rb
symphonia-5.0.0 spec/requests/users_spec.rb
symphonia-4.2.0 spec/requests/users_spec.rb
symphonia-4.1.3 spec/requests/users_spec.rb
symphonia-4.1.2 spec/requests/users_spec.rb
symphonia-4.1.1 spec/requests/users_spec.rb
symphonia-4.1.0 spec/requests/users_spec.rb
symphonia-4.0.1 spec/requests/users_spec.rb
symphonia-4.0.0 spec/requests/users_spec.rb
symphonia-3.4.0 spec/requests/users_spec.rb
symphonia-3.3.4 spec/requests/users_spec.rb
symphonia-3.3.3 spec/requests/users_spec.rb