|
5 | 5 |
|
6 | 6 | describe '#find_for_repo' do
|
7 | 7 | let(:repo) { FactoryBot.create(:repository) }
|
8 |
| - |
9 |
| - before { repo.permissions.create(build: true, user: user) } |
| 8 | + let!(:permission) { repo.permissions.create(build: true, user: user) } |
10 | 9 |
|
11 | 10 | it 'returns permissions for repo' do
|
12 | 11 | perms = subject.find_for_repo(repo)
|
13 | 12 |
|
14 | 13 | expect(perms.first.build).to eq(true)
|
15 | 14 | expect(perms.first.user.id).to eq(user.id)
|
16 | 15 | end
|
| 16 | + |
| 17 | + context 'when permission has user_id: nil' do |
| 18 | + let!(:permission) { repo.permissions.create(build: true, user_id: nil) } |
| 19 | + |
| 20 | + it 'filters it out' do |
| 21 | + perms = subject.find_for_repo(repo) |
| 22 | + expect(perms.length).to eq(0) |
| 23 | + end |
| 24 | + end |
17 | 25 | end
|
18 | 26 |
|
19 | 27 | describe '#find_for_organization' do
|
20 | 28 | let(:organization) { FactoryBot.create(:org) }
|
21 | 29 |
|
22 |
| - before { organization.memberships.create(user: user, role: 'admin', build_permission: true) } |
| 30 | + let!(:membership) { organization.memberships.create(user: user, role: 'admin', build_permission: true) } |
23 | 31 |
|
24 | 32 | it 'returns build memberships for organization' do
|
25 | 33 | perms = subject.find_for_organization(organization)
|
26 | 34 |
|
27 | 35 | expect(perms.first.build_permission).to eq(true)
|
28 | 36 | expect(perms.first.user.id).to eq(user.id)
|
29 | 37 | end
|
| 38 | + |
| 39 | + context 'when membership has user_id: nil' do |
| 40 | + let!(:membership) { organization.memberships.create(user_id: nil, role: 'admin', build_permission: true) } |
| 41 | + |
| 42 | + it 'filters it out' do |
| 43 | + perms = subject.find_for_organization(organization) |
| 44 | + expect(perms.length).to eq(0) |
| 45 | + end |
| 46 | + end |
30 | 47 | end
|
31 | 48 |
|
32 | 49 | describe '#update_for_repo' do
|
|
0 commit comments