Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
5a540811
Commit
5a540811
authored
May 26, 2021
by
Doug Stull
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Reduce factory creation on access request test
- performance for tests.
parent
bae27142
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
11 additions
and
10 deletions
+11
-10
app/models/group.rb
app/models/group.rb
+1
-3
app/models/member.rb
app/models/member.rb
+1
-0
app/models/project.rb
app/models/project.rb
+1
-3
spec/models/group_spec.rb
spec/models/group_spec.rb
+4
-2
spec/models/project_spec.rb
spec/models/project_spec.rb
+4
-2
No files found.
app/models/group.rb
View file @
5a540811
...
...
@@ -19,8 +19,6 @@ class Group < Namespace
include
HasTimelogsReport
include
BulkMemberAccessLoad
ACCESS_REQUEST_APPROVERS_TO_BE_NOTIFIED_LIMIT
=
10
has_many
:all_group_members
,
->
{
where
(
requested_at:
nil
)
},
dependent: :destroy
,
as: :source
,
class_name:
'GroupMember'
# rubocop:disable Cop/ActiveRecordDependent
has_many
:group_members
,
->
{
where
(
requested_at:
nil
).
where
.
not
(
members:
{
access_level:
Gitlab
::
Access
::
MINIMAL_ACCESS
})
},
dependent: :destroy
,
as: :source
# rubocop:disable Cop/ActiveRecordDependent
alias_method
:members
,
:group_members
...
...
@@ -634,7 +632,7 @@ class Group < Namespace
end
def
access_request_approvers_to_be_notified
members
.
owners
.
connected_to_user
.
order_recent_sign_in
.
limit
(
ACCESS_REQUEST_APPROVERS_TO_BE_NOTIFIED_LIMIT
)
members
.
owners
.
connected_to_user
.
order_recent_sign_in
.
limit
(
Member
::
ACCESS_REQUEST_APPROVERS_TO_BE_NOTIFIED_LIMIT
)
end
def
supports_events?
...
...
app/models/member.rb
View file @
5a540811
...
...
@@ -14,6 +14,7 @@ class Member < ApplicationRecord
include
UpdateHighestRole
AVATAR_SIZE
=
40
ACCESS_REQUEST_APPROVERS_TO_BE_NOTIFIED_LIMIT
=
10
attr_accessor
:raw_invite_token
...
...
app/models/project.rb
View file @
5a540811
...
...
@@ -63,8 +63,6 @@ class Project < ApplicationRecord
VALID_MIRROR_PORTS
=
[
22
,
80
,
443
].
freeze
VALID_MIRROR_PROTOCOLS
=
%w(http https ssh git)
.
freeze
ACCESS_REQUEST_APPROVERS_TO_BE_NOTIFIED_LIMIT
=
10
SORTING_PREFERENCE_FIELD
=
:projects_sort
MAX_BUILD_TIMEOUT
=
1
.
month
...
...
@@ -2431,7 +2429,7 @@ class Project < ApplicationRecord
end
def
access_request_approvers_to_be_notified
members
.
maintainers
.
connected_to_user
.
order_recent_sign_in
.
limit
(
ACCESS_REQUEST_APPROVERS_TO_BE_NOTIFIED_LIMIT
)
members
.
maintainers
.
connected_to_user
.
order_recent_sign_in
.
limit
(
Member
::
ACCESS_REQUEST_APPROVERS_TO_BE_NOTIFIED_LIMIT
)
end
def
pages_lookup_path
(
trim_prefix:
nil
,
domain:
nil
)
...
...
spec/models/group_spec.rb
View file @
5a540811
...
...
@@ -2240,14 +2240,16 @@ RSpec.describe Group do
let_it_be
(
:group
)
{
create
(
:group
,
:public
)
}
it
'returns a maximum of ten owners of the group in recent_sign_in descending order'
do
users
=
create_list
(
:user
,
12
,
:with_sign_ins
)
limit
=
2
stub_const
(
"Member::ACCESS_REQUEST_APPROVERS_TO_BE_NOTIFIED_LIMIT"
,
limit
)
users
=
create_list
(
:user
,
limit
+
1
,
:with_sign_ins
)
active_owners
=
users
.
map
do
|
user
|
create
(
:group_member
,
:owner
,
group:
group
,
user:
user
)
end
active_owners_in_recent_sign_in_desc_order
=
group
.
members_and_requesters
.
id_in
(
active_owners
)
.
order_recent_sign_in
.
limit
(
10
)
.
order_recent_sign_in
.
limit
(
limit
)
expect
(
group
.
access_request_approvers_to_be_notified
).
to
eq
(
active_owners_in_recent_sign_in_desc_order
)
end
...
...
spec/models/project_spec.rb
View file @
5a540811
...
...
@@ -6202,14 +6202,16 @@ RSpec.describe Project, factory_default: :keep do
let_it_be
(
:project
)
{
create
(
:project
,
group:
create
(
:group
,
:public
))
}
it
'returns a maximum of ten maintainers of the project in recent_sign_in descending order'
do
users
=
create_list
(
:user
,
12
,
:with_sign_ins
)
limit
=
2
stub_const
(
"Member::ACCESS_REQUEST_APPROVERS_TO_BE_NOTIFIED_LIMIT"
,
limit
)
users
=
create_list
(
:user
,
limit
+
1
,
:with_sign_ins
)
active_maintainers
=
users
.
map
do
|
user
|
create
(
:project_member
,
:maintainer
,
user:
user
,
project:
project
)
end
active_maintainers_in_recent_sign_in_desc_order
=
project
.
members_and_requesters
.
id_in
(
active_maintainers
)
.
order_recent_sign_in
.
limit
(
10
)
.
order_recent_sign_in
.
limit
(
limit
)
expect
(
project
.
access_request_approvers_to_be_notified
).
to
eq
(
active_maintainers_in_recent_sign_in_desc_order
)
end
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment