Continue refactoring. Use repostory and team
This commit is contained in:
parent
39ba934c0a
commit
dccd8b6eaa
42 changed files with 219 additions and 179 deletions
|
@ -75,35 +75,19 @@ describe Project do
|
|||
end
|
||||
|
||||
describe "Respond to" do
|
||||
it { should respond_to(:public?) }
|
||||
it { should respond_to(:private?) }
|
||||
it { should respond_to(:url_to_repo) }
|
||||
it { should respond_to(:path_to_repo) }
|
||||
it { should respond_to(:valid_repo?) }
|
||||
it { should respond_to(:repo_exists?) }
|
||||
|
||||
# Repository Role
|
||||
it { should respond_to(:tree) }
|
||||
it { should respond_to(:root_ref) }
|
||||
it { should respond_to(:repo) }
|
||||
it { should respond_to(:tags) }
|
||||
it { should respond_to(:commit) }
|
||||
it { should respond_to(:commits) }
|
||||
it { should respond_to(:commits_between) }
|
||||
it { should respond_to(:commits_with_refs) }
|
||||
it { should respond_to(:commits_since) }
|
||||
it { should respond_to(:commits_between) }
|
||||
it { should respond_to(:satellite) }
|
||||
it { should respond_to(:update_repository) }
|
||||
it { should respond_to(:destroy_repository) }
|
||||
it { should respond_to(:archive_repo) }
|
||||
|
||||
# Authority Role
|
||||
it { should respond_to(:add_access) }
|
||||
it { should respond_to(:reset_access) }
|
||||
it { should respond_to(:repository_writers) }
|
||||
it { should respond_to(:repository_masters) }
|
||||
it { should respond_to(:repository_readers) }
|
||||
it { should respond_to(:allow_read_for?) }
|
||||
it { should respond_to(:guest_access_for?) }
|
||||
it { should respond_to(:report_access_for?) }
|
||||
|
|
14
spec/models/repository_spec.rb
Normal file
14
spec/models/repository_spec.rb
Normal file
|
@ -0,0 +1,14 @@
|
|||
describe Repository do
|
||||
describe "Respond to" do
|
||||
it { should respond_to(:repo) }
|
||||
it { should respond_to(:tree) }
|
||||
it { should respond_to(:root_ref) }
|
||||
it { should respond_to(:tags) }
|
||||
it { should respond_to(:commit) }
|
||||
it { should respond_to(:commits) }
|
||||
it { should respond_to(:commits_between) }
|
||||
it { should respond_to(:commits_with_refs) }
|
||||
it { should respond_to(:commits_since) }
|
||||
it { should respond_to(:commits_between) }
|
||||
end
|
||||
end
|
|
@ -56,7 +56,7 @@ describe SystemHook do
|
|||
user = create(:user)
|
||||
project = create(:project)
|
||||
with_resque do
|
||||
project.add_access(user, :admin)
|
||||
project.team << [user, :master]
|
||||
end
|
||||
WebMock.should have_requested(:post, @system_hook.url).with(body: /user_add_to_team/).once
|
||||
end
|
||||
|
@ -64,7 +64,7 @@ describe SystemHook do
|
|||
it "project_destroy hook" do
|
||||
user = create(:user)
|
||||
project = create(:project)
|
||||
project.add_access(user, :admin)
|
||||
project.team << [user, :master]
|
||||
with_resque do
|
||||
project.users_projects.clear
|
||||
end
|
||||
|
|
12
spec/models/team_spec.rb
Normal file
12
spec/models/team_spec.rb
Normal file
|
@ -0,0 +1,12 @@
|
|||
describe Team do
|
||||
describe "Respond to" do
|
||||
it { should respond_to(:developers) }
|
||||
it { should respond_to(:masters) }
|
||||
it { should respond_to(:reporters) }
|
||||
it { should respond_to(:guests) }
|
||||
it { should respond_to(:repository_writers) }
|
||||
it { should respond_to(:repository_masters) }
|
||||
it { should respond_to(:repository_readers) }
|
||||
end
|
||||
end
|
||||
|
|
@ -48,10 +48,10 @@ describe UsersProject do
|
|||
@user_1 = create :user
|
||||
@user_2 = create :user
|
||||
|
||||
@project_1.add_access @user_1, :write
|
||||
@project_2.add_access @user_2, :read
|
||||
@project_1.team << [ @user_1, :developer ]
|
||||
@project_2.team << [ @user_2, :reporter ]
|
||||
|
||||
@status = UsersProject.import_team(@project_1, @project_2)
|
||||
@status = @project_2.team.import(@project_1)
|
||||
end
|
||||
|
||||
it { @status.should be_true }
|
||||
|
@ -101,8 +101,8 @@ describe UsersProject do
|
|||
@user_1 = create :user
|
||||
@user_2 = create :user
|
||||
|
||||
@project_1.add_access @user_1, :write
|
||||
@project_2.add_access @user_2, :read
|
||||
@project_1.team << [ @user_1, :developer]
|
||||
@project_2.team << [ @user_2, :reporter]
|
||||
|
||||
UsersProject.truncate_teams([@project_1.id, @project_2.id])
|
||||
end
|
||||
|
|
|
@ -7,8 +7,7 @@ describe "Issues" do
|
|||
login_as :user
|
||||
user2 = create(:user)
|
||||
|
||||
project.add_access(@user, :read, :write)
|
||||
project.add_access(user2, :read, :write)
|
||||
project.team << [[@user, user2], :developer]
|
||||
end
|
||||
|
||||
describe "Edit issue" do
|
||||
|
|
|
@ -6,7 +6,7 @@ describe "Projects" do
|
|||
describe "GET /projects/show" do
|
||||
before do
|
||||
@project = create(:project, namespace: @user.namespace)
|
||||
@project.add_access(@user, :read)
|
||||
@project.team << [@user, :reporter]
|
||||
|
||||
visit project_path(@project)
|
||||
end
|
||||
|
@ -19,7 +19,7 @@ describe "Projects" do
|
|||
describe "GET /projects/:id/edit" do
|
||||
before do
|
||||
@project = create(:project)
|
||||
@project.add_access(@user, :admin, :read)
|
||||
@project.team << [@user, :master]
|
||||
|
||||
visit edit_project_path(@project)
|
||||
end
|
||||
|
@ -38,7 +38,7 @@ describe "Projects" do
|
|||
describe "PUT /projects/:id" do
|
||||
before do
|
||||
@project = create(:project, namespace: @user.namespace)
|
||||
@project.add_access(@user, :admin, :read)
|
||||
@project.team << [@user, :master]
|
||||
|
||||
visit edit_project_path(@project)
|
||||
|
||||
|
@ -59,7 +59,7 @@ describe "Projects" do
|
|||
describe "DELETE /projects/:id" do
|
||||
before do
|
||||
@project = create(:project, namespace: @user.namespace)
|
||||
@project.add_access(@user, :read, :admin)
|
||||
@project.team << [@user, :master]
|
||||
visit edit_project_path(@project)
|
||||
end
|
||||
|
||||
|
|
|
@ -1,18 +1,6 @@
|
|||
# Stubs out all Git repository access done by models so that specs can run
|
||||
# against fake repositories without Grit complaining that they don't exist.
|
||||
class Project
|
||||
def path_to_repo
|
||||
if new_record? || path == 'newproject'
|
||||
# There are a couple Project specs and features that expect the Project's
|
||||
# path to be in the returned path, so let's patronize them.
|
||||
Rails.root.join('tmp', 'repositories', path)
|
||||
else
|
||||
# For everything else, just give it the path to one of our real seeded
|
||||
# repos.
|
||||
Rails.root.join('tmp', 'repositories', 'gitlabhq')
|
||||
end
|
||||
end
|
||||
|
||||
def satellite
|
||||
FakeSatellite.new
|
||||
end
|
||||
|
@ -27,3 +15,9 @@ class Project
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
class Repository
|
||||
def repo
|
||||
@repo ||= Grit::Repo.new(Rails.root.join('tmp', 'repositories', 'gitlabhq'))
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue