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 |