diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-02-15 00:08:48 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-02-15 00:08:48 +0000 |
commit | b69f406585ff64b1c5140ebba775cc754fabb358 (patch) | |
tree | 9af7dfeb0c3f0f8db189a6e18c6be398a7729e2d /spec/models | |
parent | 866ca4e49ff74ffadf8e6f6ff663a168489c2aba (diff) | |
download | gitlab-ce-b69f406585ff64b1c5140ebba775cc754fabb358.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/models')
-rw-r--r-- | spec/models/label_spec.rb | 25 | ||||
-rw-r--r-- | spec/models/user_spec.rb | 13 |
2 files changed, 38 insertions, 0 deletions
diff --git a/spec/models/label_spec.rb b/spec/models/label_spec.rb index baf2cfeab0c..dc878c2d3c0 100644 --- a/spec/models/label_spec.rb +++ b/spec/models/label_spec.rb @@ -183,6 +183,31 @@ describe Label do end end + describe '.top_labels_by_target' do + let(:label) { create(:label) } + let(:popular_label) { create(:label) } + let(:merge_request1) { create(:merge_request) } + let(:merge_request2) { create(:merge_request) } + + before do + merge_request1.labels = [label, popular_label] + merge_request2.labels = [popular_label] + end + + it 'returns distinct labels, ordered by usage in the given target relation' do + top_labels = described_class.top_labels_by_target(MergeRequest.all) + + expect(top_labels).to match_array([popular_label, label]) + end + + it 'excludes labels that are not assigned to any records in the given target relation' do + merge_requests = MergeRequest.where(id: merge_request2.id) + top_labels = described_class.top_labels_by_target(merge_requests) + + expect(top_labels).to match_array([popular_label]) + end + end + describe '.optionally_subscribed_by' do let!(:user) { create(:user) } let!(:label) { create(:label) } diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 90795e0a8e4..36ddb624cba 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -4200,4 +4200,17 @@ describe User, :do_not_mock_admin_mode do expect(described_class.bots).to match_array([bot]) end end + + describe '#hook_attrs' do + it 'includes name, username, avatar_url, and email' do + user = create(:user) + user_attributes = { + name: user.name, + username: user.username, + avatar_url: user.avatar_url(only_path: false), + email: user.email + } + expect(user.hook_attrs).to eq(user_attributes) + end + end end |