Commit 0a2a34a4d18d0489f7db6aad5b5518b503692b5b
1 parent
65b9768c
Exists in
master
and in
4 other branches
Ignore owner_id for Group in tests
Showing
8 changed files
with
36 additions
and
21 deletions
Show diff stats
features/steps/group/group.rb
@@ -10,7 +10,8 @@ class Groups < Spinach::FeatureSteps | @@ -10,7 +10,8 @@ class Groups < Spinach::FeatureSteps | ||
10 | end | 10 | end |
11 | 11 | ||
12 | And 'I have group with projects' do | 12 | And 'I have group with projects' do |
13 | - @group = create(:group, owner: current_user) | 13 | + @group = create(:group) |
14 | + @group.add_owner(current_user) | ||
14 | @project = create(:project, namespace: @group) | 15 | @project = create(:project, namespace: @group) |
15 | @event = create(:closed_issue_event, project: @project) | 16 | @event = create(:closed_issue_event, project: @project) |
16 | 17 |
spec/contexts/projects_create_context_spec.rb
@@ -25,13 +25,15 @@ describe Projects::CreateContext do | @@ -25,13 +25,15 @@ describe Projects::CreateContext do | ||
25 | 25 | ||
26 | context 'group namespace' do | 26 | context 'group namespace' do |
27 | before do | 27 | before do |
28 | - @group = create :group, owner: @user | 28 | + @group = create :group |
29 | + @group.add_owner(@user) | ||
30 | + | ||
29 | @opts.merge!(namespace_id: @group.id) | 31 | @opts.merge!(namespace_id: @group.id) |
30 | @project = create_project(@user, @opts) | 32 | @project = create_project(@user, @opts) |
31 | end | 33 | end |
32 | 34 | ||
33 | it { @project.should be_valid } | 35 | it { @project.should be_valid } |
34 | - it { @project.owner.should == @user } | 36 | + it { @project.owner.should == @group } |
35 | it { @project.namespace.should == @group } | 37 | it { @project.namespace.should == @group } |
36 | end | 38 | end |
37 | 39 |
spec/factories.rb
@@ -71,7 +71,6 @@ FactoryGirl.define do | @@ -71,7 +71,6 @@ FactoryGirl.define do | ||
71 | factory :group do | 71 | factory :group do |
72 | sequence(:name) { |n| "group#{n}" } | 72 | sequence(:name) { |n| "group#{n}" } |
73 | path { name.downcase.gsub(/\s/, '_') } | 73 | path { name.downcase.gsub(/\s/, '_') } |
74 | - owner | ||
75 | type 'Group' | 74 | type 'Group' |
76 | end | 75 | end |
77 | 76 |
spec/features/security/group_access_spec.rb
@@ -10,11 +10,13 @@ describe "Group access" do | @@ -10,11 +10,13 @@ describe "Group access" do | ||
10 | describe "Group" do | 10 | describe "Group" do |
11 | let(:group) { create(:group) } | 11 | let(:group) { create(:group) } |
12 | 12 | ||
13 | + let(:owner) { create(:owner) } | ||
13 | let(:master) { create(:user) } | 14 | let(:master) { create(:user) } |
14 | let(:reporter) { create(:user) } | 15 | let(:reporter) { create(:user) } |
15 | let(:guest) { create(:user) } | 16 | let(:guest) { create(:user) } |
16 | 17 | ||
17 | before do | 18 | before do |
19 | + group.add_user(owner, Gitlab::Access::OWNER) | ||
18 | group.add_user(master, Gitlab::Access::MASTER) | 20 | group.add_user(master, Gitlab::Access::MASTER) |
19 | group.add_user(reporter, Gitlab::Access::REPORTER) | 21 | group.add_user(reporter, Gitlab::Access::REPORTER) |
20 | group.add_user(guest, Gitlab::Access::GUEST) | 22 | group.add_user(guest, Gitlab::Access::GUEST) |
@@ -23,7 +25,7 @@ describe "Group access" do | @@ -23,7 +25,7 @@ describe "Group access" do | ||
23 | describe "GET /groups/:path" do | 25 | describe "GET /groups/:path" do |
24 | subject { group_path(group) } | 26 | subject { group_path(group) } |
25 | 27 | ||
26 | - it { should be_allowed_for group.owner } | 28 | + it { should be_allowed_for owner } |
27 | it { should be_allowed_for master } | 29 | it { should be_allowed_for master } |
28 | it { should be_allowed_for reporter } | 30 | it { should be_allowed_for reporter } |
29 | it { should be_allowed_for :admin } | 31 | it { should be_allowed_for :admin } |
@@ -35,7 +37,7 @@ describe "Group access" do | @@ -35,7 +37,7 @@ describe "Group access" do | ||
35 | describe "GET /groups/:path/issues" do | 37 | describe "GET /groups/:path/issues" do |
36 | subject { issues_group_path(group) } | 38 | subject { issues_group_path(group) } |
37 | 39 | ||
38 | - it { should be_allowed_for group.owner } | 40 | + it { should be_allowed_for owner } |
39 | it { should be_allowed_for master } | 41 | it { should be_allowed_for master } |
40 | it { should be_allowed_for reporter } | 42 | it { should be_allowed_for reporter } |
41 | it { should be_allowed_for :admin } | 43 | it { should be_allowed_for :admin } |
@@ -47,7 +49,7 @@ describe "Group access" do | @@ -47,7 +49,7 @@ describe "Group access" do | ||
47 | describe "GET /groups/:path/merge_requests" do | 49 | describe "GET /groups/:path/merge_requests" do |
48 | subject { merge_requests_group_path(group) } | 50 | subject { merge_requests_group_path(group) } |
49 | 51 | ||
50 | - it { should be_allowed_for group.owner } | 52 | + it { should be_allowed_for owner } |
51 | it { should be_allowed_for master } | 53 | it { should be_allowed_for master } |
52 | it { should be_allowed_for reporter } | 54 | it { should be_allowed_for reporter } |
53 | it { should be_allowed_for :admin } | 55 | it { should be_allowed_for :admin } |
@@ -59,7 +61,7 @@ describe "Group access" do | @@ -59,7 +61,7 @@ describe "Group access" do | ||
59 | describe "GET /groups/:path/members" do | 61 | describe "GET /groups/:path/members" do |
60 | subject { members_group_path(group) } | 62 | subject { members_group_path(group) } |
61 | 63 | ||
62 | - it { should be_allowed_for group.owner } | 64 | + it { should be_allowed_for owner } |
63 | it { should be_allowed_for master } | 65 | it { should be_allowed_for master } |
64 | it { should be_allowed_for reporter } | 66 | it { should be_allowed_for reporter } |
65 | it { should be_allowed_for :admin } | 67 | it { should be_allowed_for :admin } |
@@ -71,7 +73,7 @@ describe "Group access" do | @@ -71,7 +73,7 @@ describe "Group access" do | ||
71 | describe "GET /groups/:path/edit" do | 73 | describe "GET /groups/:path/edit" do |
72 | subject { edit_group_path(group) } | 74 | subject { edit_group_path(group) } |
73 | 75 | ||
74 | - it { should be_allowed_for group.owner } | 76 | + it { should be_allowed_for owner } |
75 | it { should be_denied_for master } | 77 | it { should be_denied_for master } |
76 | it { should be_denied_for reporter } | 78 | it { should be_denied_for reporter } |
77 | it { should be_allowed_for :admin } | 79 | it { should be_allowed_for :admin } |
spec/models/group_spec.rb
@@ -26,10 +26,10 @@ describe Group do | @@ -26,10 +26,10 @@ describe Group do | ||
26 | it { should validate_uniqueness_of(:name) } | 26 | it { should validate_uniqueness_of(:name) } |
27 | it { should validate_presence_of :path } | 27 | it { should validate_presence_of :path } |
28 | it { should validate_uniqueness_of(:path) } | 28 | it { should validate_uniqueness_of(:path) } |
29 | - it { should validate_presence_of :owner } | 29 | + it { should_not validate_presence_of :owner } |
30 | 30 | ||
31 | describe :users do | 31 | describe :users do |
32 | - it { group.users.should == [group.owner] } | 32 | + it { group.users.should == group.owners } |
33 | end | 33 | end |
34 | 34 | ||
35 | describe :human_name do | 35 | describe :human_name do |
@@ -38,7 +38,7 @@ describe Group do | @@ -38,7 +38,7 @@ describe Group do | ||
38 | 38 | ||
39 | describe :add_users do | 39 | describe :add_users do |
40 | let(:user) { create(:user) } | 40 | let(:user) { create(:user) } |
41 | - before { group.add_users([user.id], UsersGroup::MASTER) } | 41 | + before { group.add_user(user, UsersGroup::MASTER) } |
42 | 42 | ||
43 | it { group.users_groups.masters.map(&:user).should include(user) } | 43 | it { group.users_groups.masters.map(&:user).should include(user) } |
44 | end | 44 | end |
spec/models/project_spec.rb
@@ -85,7 +85,6 @@ describe Project do | @@ -85,7 +85,6 @@ describe Project do | ||
85 | it { should respond_to(:execute_hooks) } | 85 | it { should respond_to(:execute_hooks) } |
86 | it { should respond_to(:transfer) } | 86 | it { should respond_to(:transfer) } |
87 | it { should respond_to(:name_with_namespace) } | 87 | it { should respond_to(:name_with_namespace) } |
88 | - it { should respond_to(:namespace_owner) } | ||
89 | it { should respond_to(:owner) } | 88 | it { should respond_to(:owner) } |
90 | it { should respond_to(:path_with_namespace) } | 89 | it { should respond_to(:path_with_namespace) } |
91 | end | 90 | end |
spec/models/user_spec.rb
@@ -130,11 +130,12 @@ describe User do | @@ -130,11 +130,12 @@ describe User do | ||
130 | before do | 130 | before do |
131 | ActiveRecord::Base.observers.enable(:user_observer) | 131 | ActiveRecord::Base.observers.enable(:user_observer) |
132 | @user = create :user | 132 | @user = create :user |
133 | - @group = create :group, owner: @user | 133 | + @group = create :group |
134 | + @group.add_owner(@user) | ||
134 | end | 135 | end |
135 | 136 | ||
136 | it { @user.several_namespaces?.should be_true } | 137 | it { @user.several_namespaces?.should be_true } |
137 | - it { @user.namespaces.should include(@user.namespace, @group) } | 138 | + it { @user.namespaces.should include(@user.namespace) } |
138 | it { @user.authorized_groups.should == [@group] } | 139 | it { @user.authorized_groups.should == [@group] } |
139 | it { @user.owned_groups.should == [@group] } | 140 | it { @user.owned_groups.should == [@group] } |
140 | end | 141 | end |
@@ -144,9 +145,10 @@ describe User do | @@ -144,9 +145,10 @@ describe User do | ||
144 | ActiveRecord::Base.observers.enable(:user_observer) | 145 | ActiveRecord::Base.observers.enable(:user_observer) |
145 | @user = create :user | 146 | @user = create :user |
146 | @user2 = create :user | 147 | @user2 = create :user |
147 | - @group = create :group, owner: @user | 148 | + @group = create :group |
149 | + @group.add_owner(@user) | ||
148 | 150 | ||
149 | - @group.add_users([@user2.id], UsersGroup::OWNER) | 151 | + @group.add_user(@user2, UsersGroup::OWNER) |
150 | end | 152 | end |
151 | 153 | ||
152 | it { @user2.several_namespaces?.should be_true } | 154 | it { @user2.several_namespaces?.should be_true } |
spec/requests/api/groups_spec.rb
@@ -6,8 +6,13 @@ describe API::API do | @@ -6,8 +6,13 @@ describe API::API do | ||
6 | let(:user1) { create(:user) } | 6 | let(:user1) { create(:user) } |
7 | let(:user2) { create(:user) } | 7 | let(:user2) { create(:user) } |
8 | let(:admin) { create(:admin) } | 8 | let(:admin) { create(:admin) } |
9 | - let!(:group1) { create(:group, owner: user1) } | ||
10 | - let!(:group2) { create(:group, owner: user2) } | 9 | + let!(:group1) { create(:group) } |
10 | + let!(:group2) { create(:group) } | ||
11 | + | ||
12 | + before do | ||
13 | + group1.add_owner(user1) | ||
14 | + group2.add_owner(user2) | ||
15 | + end | ||
11 | 16 | ||
12 | describe "GET /groups" do | 17 | describe "GET /groups" do |
13 | context "when unauthenticated" do | 18 | context "when unauthenticated" do |
@@ -130,14 +135,19 @@ describe API::API do | @@ -130,14 +135,19 @@ describe API::API do | ||
130 | let(:master) { create(:user) } | 135 | let(:master) { create(:user) } |
131 | let(:guest) { create(:user) } | 136 | let(:guest) { create(:user) } |
132 | let!(:group_with_members) do | 137 | let!(:group_with_members) do |
133 | - group = create(:group, owner: owner) | 138 | + group = create(:group) |
134 | group.add_users([reporter.id], UsersGroup::REPORTER) | 139 | group.add_users([reporter.id], UsersGroup::REPORTER) |
135 | group.add_users([developer.id], UsersGroup::DEVELOPER) | 140 | group.add_users([developer.id], UsersGroup::DEVELOPER) |
136 | group.add_users([master.id], UsersGroup::MASTER) | 141 | group.add_users([master.id], UsersGroup::MASTER) |
137 | group.add_users([guest.id], UsersGroup::GUEST) | 142 | group.add_users([guest.id], UsersGroup::GUEST) |
138 | group | 143 | group |
139 | end | 144 | end |
140 | - let!(:group_no_members) { create(:group, owner: owner) } | 145 | + let!(:group_no_members) { create(:group) } |
146 | + | ||
147 | + before do | ||
148 | + group_with_members.add_owner owner | ||
149 | + group_no_members.add_owner owner | ||
150 | + end | ||
141 | 151 | ||
142 | describe "GET /groups/:id/members" do | 152 | describe "GET /groups/:id/members" do |
143 | context "when authenticated as user that is part or the group" do | 153 | context "when authenticated as user that is part or the group" do |