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