Make sure spec expectations are in their own paragraphs
This commit is contained in:
		
							parent
							
								
									0c0c2ecd99
								
							
						
					
					
						commit
						782c017ca0
					
				| 
						 | 
				
			
			@ -405,12 +405,14 @@ describe User do
 | 
			
		|||
 | 
			
		||||
      it 'gets called when email updated' do
 | 
			
		||||
        expect(@user).to receive(:update_emails_with_primary_email)
 | 
			
		||||
 | 
			
		||||
        @user.update_attributes!(email: 'new_primary@example.com')
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      it 'adds old primary to secondary emails when secondary is a new email ' do
 | 
			
		||||
        @user.update_attributes!(email: 'new_primary@example.com')
 | 
			
		||||
        @user.reload
 | 
			
		||||
 | 
			
		||||
        expect(@user.emails.count).to eq 2
 | 
			
		||||
        expect(@user.emails.pluck(:email)).to match_array([@secondary.email, 'primary@example.com'])
 | 
			
		||||
      end
 | 
			
		||||
| 
						 | 
				
			
			@ -418,6 +420,7 @@ describe User do
 | 
			
		|||
      it 'adds old primary to secondary emails if secondary is becoming a primary' do
 | 
			
		||||
        @user.update_attributes!(email: @secondary.email)
 | 
			
		||||
        @user.reload
 | 
			
		||||
 | 
			
		||||
        expect(@user.emails.count).to eq 1
 | 
			
		||||
        expect(@user.emails.first.email).to eq 'primary@example.com'
 | 
			
		||||
      end
 | 
			
		||||
| 
						 | 
				
			
			@ -425,6 +428,7 @@ describe User do
 | 
			
		|||
      it 'transfers old confirmation values into new secondary' do
 | 
			
		||||
        @user.update_attributes!(email: @secondary.email)
 | 
			
		||||
        @user.reload
 | 
			
		||||
 | 
			
		||||
        expect(@user.emails.count).to eq 1
 | 
			
		||||
        expect(@user.emails.first.confirmed_at).not_to eq nil
 | 
			
		||||
      end
 | 
			
		||||
| 
						 | 
				
			
			@ -516,6 +520,7 @@ describe User do
 | 
			
		|||
  describe '#generate_password' do
 | 
			
		||||
    it "does not generate password by default" do
 | 
			
		||||
      user = create(:user, password: 'abcdefghe')
 | 
			
		||||
 | 
			
		||||
      expect(user.password).to eq('abcdefghe')
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			@ -523,6 +528,7 @@ describe User do
 | 
			
		|||
  describe 'authentication token' do
 | 
			
		||||
    it "has authentication token" do
 | 
			
		||||
      user = create(:user)
 | 
			
		||||
 | 
			
		||||
      expect(user.authentication_token).not_to be_blank
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			@ -530,6 +536,7 @@ describe User do
 | 
			
		|||
  describe 'ensure incoming email token' do
 | 
			
		||||
    it 'has incoming email token' do
 | 
			
		||||
      user = create(:user)
 | 
			
		||||
 | 
			
		||||
      expect(user.incoming_email_token).not_to be_blank
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			@ -572,6 +579,7 @@ describe User do
 | 
			
		|||
    it 'ensures an rss token on read' do
 | 
			
		||||
      user = create(:user, rss_token: nil)
 | 
			
		||||
      rss_token = user.rss_token
 | 
			
		||||
 | 
			
		||||
      expect(rss_token).not_to be_blank
 | 
			
		||||
      expect(user.reload.rss_token).to eq rss_token
 | 
			
		||||
    end
 | 
			
		||||
| 
						 | 
				
			
			@ -682,6 +690,7 @@ describe User do
 | 
			
		|||
 | 
			
		||||
    it "blocks user" do
 | 
			
		||||
      user.block
 | 
			
		||||
 | 
			
		||||
      expect(user.blocked?).to be_truthy
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			@ -1015,6 +1024,7 @@ describe User do
 | 
			
		|||
 | 
			
		||||
    it 'is case-insensitive' do
 | 
			
		||||
      user = create(:user, username: 'JohnDoe')
 | 
			
		||||
 | 
			
		||||
      expect(described_class.find_by_username('JOHNDOE')).to eq user
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			@ -1027,6 +1037,7 @@ describe User do
 | 
			
		|||
 | 
			
		||||
    it 'is case-insensitive' do
 | 
			
		||||
      user = create(:user, username: 'JohnDoe')
 | 
			
		||||
 | 
			
		||||
      expect(described_class.find_by_username!('JOHNDOE')).to eq user
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			@ -1116,11 +1127,13 @@ describe User do
 | 
			
		|||
 | 
			
		||||
    it 'is true if avatar is image' do
 | 
			
		||||
      user.update_attribute(:avatar, 'uploads/avatar.png')
 | 
			
		||||
 | 
			
		||||
      expect(user.avatar_type).to be_truthy
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    it 'is false if avatar is html page' do
 | 
			
		||||
      user.update_attribute(:avatar, 'uploads/avatar.html')
 | 
			
		||||
 | 
			
		||||
      expect(user.avatar_type).to eq(['only images allowed'])
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			@ -1150,6 +1163,7 @@ describe User do
 | 
			
		|||
      email_confirmed   = create :email, user: user, confirmed_at: Time.now
 | 
			
		||||
      email_unconfirmed = create :email, user: user
 | 
			
		||||
      user.reload
 | 
			
		||||
 | 
			
		||||
      expect(user.all_emails).to match_array([user.email, email_unconfirmed.email, email_confirmed.email])
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			@ -1161,6 +1175,7 @@ describe User do
 | 
			
		|||
      email_confirmed = create :email, user: user, confirmed_at: Time.now
 | 
			
		||||
      create :email, user: user
 | 
			
		||||
      user.reload
 | 
			
		||||
 | 
			
		||||
      expect(user.verified_emails).to match_array([user.email, email_confirmed.email])
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			@ -1192,6 +1207,7 @@ describe User do
 | 
			
		|||
      # Create a condition which would otherwise cause 'true' to be returned
 | 
			
		||||
      allow(user).to receive(:ldap_user?).and_return(true)
 | 
			
		||||
      user.last_credential_check_at = nil
 | 
			
		||||
 | 
			
		||||
      expect(user.requires_ldap_check?).to be_falsey
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1202,6 +1218,7 @@ describe User do
 | 
			
		|||
 | 
			
		||||
      it 'is false for non-LDAP users' do
 | 
			
		||||
        allow(user).to receive(:ldap_user?).and_return(false)
 | 
			
		||||
 | 
			
		||||
        expect(user.requires_ldap_check?).to be_falsey
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1212,11 +1229,13 @@ describe User do
 | 
			
		|||
 | 
			
		||||
        it 'is true when the user has never had an LDAP check before' do
 | 
			
		||||
          user.last_credential_check_at = nil
 | 
			
		||||
 | 
			
		||||
          expect(user.requires_ldap_check?).to be_truthy
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        it 'is true when the last LDAP check happened over 1 hour ago' do
 | 
			
		||||
          user.last_credential_check_at = 2.hours.ago
 | 
			
		||||
 | 
			
		||||
          expect(user.requires_ldap_check?).to be_truthy
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
| 
						 | 
				
			
			@ -1227,16 +1246,19 @@ describe User do
 | 
			
		|||
    describe '#ldap_user?' do
 | 
			
		||||
      it 'is true if provider name starts with ldap' do
 | 
			
		||||
        user = create(:omniauth_user, provider: 'ldapmain')
 | 
			
		||||
 | 
			
		||||
        expect(user.ldap_user?).to be_truthy
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      it 'is false for other providers' do
 | 
			
		||||
        user = create(:omniauth_user, provider: 'other-provider')
 | 
			
		||||
 | 
			
		||||
        expect(user.ldap_user?).to be_falsey
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      it 'is false if no extern_uid is provided' do
 | 
			
		||||
        user = create(:omniauth_user, extern_uid: nil)
 | 
			
		||||
 | 
			
		||||
        expect(user.ldap_user?).to be_falsey
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
| 
						 | 
				
			
			@ -1244,6 +1266,7 @@ describe User do
 | 
			
		|||
    describe '#ldap_identity' do
 | 
			
		||||
      it 'returns ldap identity' do
 | 
			
		||||
        user = create :omniauth_user
 | 
			
		||||
 | 
			
		||||
        expect(user.ldap_identity.provider).not_to be_empty
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
| 
						 | 
				
			
			@ -1253,6 +1276,7 @@ describe User do
 | 
			
		|||
 | 
			
		||||
      it 'blocks user flaging the action caming from ldap' do
 | 
			
		||||
        user.ldap_block
 | 
			
		||||
 | 
			
		||||
        expect(user.blocked?).to be_truthy
 | 
			
		||||
        expect(user.ldap_blocked?).to be_truthy
 | 
			
		||||
      end
 | 
			
		||||
| 
						 | 
				
			
			@ -1325,18 +1349,22 @@ describe User do
 | 
			
		|||
      expect(user.starred?(project2)).to be_falsey
 | 
			
		||||
 | 
			
		||||
      star1 = UsersStarProject.create!(project: project1, user: user)
 | 
			
		||||
 | 
			
		||||
      expect(user.starred?(project1)).to be_truthy
 | 
			
		||||
      expect(user.starred?(project2)).to be_falsey
 | 
			
		||||
 | 
			
		||||
      star2 = UsersStarProject.create!(project: project2, user: user)
 | 
			
		||||
 | 
			
		||||
      expect(user.starred?(project1)).to be_truthy
 | 
			
		||||
      expect(user.starred?(project2)).to be_truthy
 | 
			
		||||
 | 
			
		||||
      star1.destroy
 | 
			
		||||
 | 
			
		||||
      expect(user.starred?(project1)).to be_falsey
 | 
			
		||||
      expect(user.starred?(project2)).to be_truthy
 | 
			
		||||
 | 
			
		||||
      star2.destroy
 | 
			
		||||
 | 
			
		||||
      expect(user.starred?(project1)).to be_falsey
 | 
			
		||||
      expect(user.starred?(project2)).to be_falsey
 | 
			
		||||
    end
 | 
			
		||||
| 
						 | 
				
			
			@ -1348,9 +1376,13 @@ describe User do
 | 
			
		|||
      project = create(:project, :public)
 | 
			
		||||
 | 
			
		||||
      expect(user.starred?(project)).to be_falsey
 | 
			
		||||
 | 
			
		||||
      user.toggle_star(project)
 | 
			
		||||
 | 
			
		||||
      expect(user.starred?(project)).to be_truthy
 | 
			
		||||
 | 
			
		||||
      user.toggle_star(project)
 | 
			
		||||
 | 
			
		||||
      expect(user.starred?(project)).to be_falsey
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			@ -1529,9 +1561,11 @@ describe User do
 | 
			
		|||
      user    = create(:user)
 | 
			
		||||
 | 
			
		||||
      member = group.add_developer(user)
 | 
			
		||||
 | 
			
		||||
      expect(user.authorized_projects).to include(project)
 | 
			
		||||
 | 
			
		||||
      member.destroy
 | 
			
		||||
 | 
			
		||||
      expect(user.authorized_projects).not_to include(project)
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1552,9 +1586,11 @@ describe User do
 | 
			
		|||
      project = create(:project, :private, namespace: user1.namespace)
 | 
			
		||||
 | 
			
		||||
      project.team << [user2, Gitlab::Access::DEVELOPER]
 | 
			
		||||
 | 
			
		||||
      expect(user2.authorized_projects).to include(project)
 | 
			
		||||
 | 
			
		||||
      project.destroy
 | 
			
		||||
 | 
			
		||||
      expect(user2.authorized_projects).not_to include(project)
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1564,9 +1600,11 @@ describe User do
 | 
			
		|||
      user    = create(:user)
 | 
			
		||||
 | 
			
		||||
      group.add_developer(user)
 | 
			
		||||
 | 
			
		||||
      expect(user.authorized_projects).to include(project)
 | 
			
		||||
 | 
			
		||||
      group.destroy
 | 
			
		||||
 | 
			
		||||
      expect(user.authorized_projects).not_to include(project)
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			@ -2110,7 +2148,9 @@ describe User do
 | 
			
		|||
 | 
			
		||||
      it 'creates the namespace' do
 | 
			
		||||
        expect(user.namespace).to be_nil
 | 
			
		||||
 | 
			
		||||
        user.save!
 | 
			
		||||
 | 
			
		||||
        expect(user.namespace).not_to be_nil
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
| 
						 | 
				
			
			@ -2131,11 +2171,13 @@ describe User do
 | 
			
		|||
 | 
			
		||||
          it 'updates the namespace name' do
 | 
			
		||||
            user.update_attributes!(username: new_username)
 | 
			
		||||
 | 
			
		||||
            expect(user.namespace.name).to eq(new_username)
 | 
			
		||||
          end
 | 
			
		||||
 | 
			
		||||
          it 'updates the namespace path' do
 | 
			
		||||
            user.update_attributes!(username: new_username)
 | 
			
		||||
 | 
			
		||||
            expect(user.namespace.path).to eq(new_username)
 | 
			
		||||
          end
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -2149,6 +2191,7 @@ describe User do
 | 
			
		|||
 | 
			
		||||
            it 'adds the namespace errors to the user' do
 | 
			
		||||
              user.update_attributes(username: new_username)
 | 
			
		||||
 | 
			
		||||
              expect(user.errors.full_messages.first).to eq('Namespace name has already been taken')
 | 
			
		||||
            end
 | 
			
		||||
          end
 | 
			
		||||
| 
						 | 
				
			
			@ -2171,36 +2214,43 @@ describe User do
 | 
			
		|||
    context 'oauth user' do
 | 
			
		||||
      it 'returns true if name can be synced' do
 | 
			
		||||
        stub_omniauth_setting(sync_profile_attributes: %w(name location))
 | 
			
		||||
 | 
			
		||||
        expect(user.sync_attribute?(:name)).to be_truthy
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      it 'returns true if email can be synced' do
 | 
			
		||||
        stub_omniauth_setting(sync_profile_attributes: %w(name email))
 | 
			
		||||
 | 
			
		||||
        expect(user.sync_attribute?(:email)).to be_truthy
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      it 'returns true if location can be synced' do
 | 
			
		||||
        stub_omniauth_setting(sync_profile_attributes: %w(location email))
 | 
			
		||||
 | 
			
		||||
        expect(user.sync_attribute?(:email)).to be_truthy
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      it 'returns false if name can not be synced' do
 | 
			
		||||
        stub_omniauth_setting(sync_profile_attributes: %w(location email))
 | 
			
		||||
 | 
			
		||||
        expect(user.sync_attribute?(:name)).to be_falsey
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      it 'returns false if email can not be synced' do
 | 
			
		||||
        stub_omniauth_setting(sync_profile_attributes: %w(location email))
 | 
			
		||||
 | 
			
		||||
        expect(user.sync_attribute?(:name)).to be_falsey
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      it 'returns false if location can not be synced' do
 | 
			
		||||
        stub_omniauth_setting(sync_profile_attributes: %w(location email))
 | 
			
		||||
 | 
			
		||||
        expect(user.sync_attribute?(:name)).to be_falsey
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      it 'returns true for all syncable attributes if all syncable attributes can be synced' do
 | 
			
		||||
        stub_omniauth_setting(sync_profile_attributes: true)
 | 
			
		||||
 | 
			
		||||
        expect(user.sync_attribute?(:name)).to be_truthy
 | 
			
		||||
        expect(user.sync_attribute?(:email)).to be_truthy
 | 
			
		||||
        expect(user.sync_attribute?(:location)).to be_truthy
 | 
			
		||||
| 
						 | 
				
			
			@ -2216,6 +2266,7 @@ describe User do
 | 
			
		|||
    context 'ldap user' do
 | 
			
		||||
      it 'returns true for email if ldap user' do
 | 
			
		||||
        allow(user).to receive(:ldap_user?).and_return(true)
 | 
			
		||||
 | 
			
		||||
        expect(user.sync_attribute?(:name)).to be_falsey
 | 
			
		||||
        expect(user.sync_attribute?(:email)).to be_truthy
 | 
			
		||||
        expect(user.sync_attribute?(:location)).to be_falsey
 | 
			
		||||
| 
						 | 
				
			
			@ -2224,6 +2275,7 @@ describe User do
 | 
			
		|||
      it 'returns true for email and location if ldap user and location declared as syncable' do
 | 
			
		||||
        allow(user).to receive(:ldap_user?).and_return(true)
 | 
			
		||||
        stub_omniauth_setting(sync_profile_attributes: %w(location))
 | 
			
		||||
 | 
			
		||||
        expect(user.sync_attribute?(:name)).to be_falsey
 | 
			
		||||
        expect(user.sync_attribute?(:email)).to be_truthy
 | 
			
		||||
        expect(user.sync_attribute?(:location)).to be_truthy
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue