Skip to content
Snippets Groups Projects
Commit 7c51d5ef authored by Douwe Maan's avatar Douwe Maan
Browse files

Fix some specs

parent 3058a8fa
No related branches found
No related tags found
No related merge requests found
class Admin::ProjectsController < Admin::ApplicationController
before_action :project, only: [:show, :transfer]
before_action :group, only: [:show, :transfer]
before_action :repository, only: [:show, :transfer]
 
def index
@projects = Project.all
Loading
Loading
Loading
Loading
@@ -67,7 +67,7 @@ class Projects::ApplicationController < ApplicationController
end
 
def require_non_empty_project
redirect_to @project if @project.empty_repo?
redirect_to namespace_project_path(@project.namespace, @project) if @project.empty_repo?
end
 
def require_branch_head
Loading
Loading
Loading
Loading
@@ -246,10 +246,6 @@ class Project < ActiveRecord::Base
end
 
class << self
def public_and_internal_levels
[Project::PUBLIC, Project::INTERNAL]
end
def abandoned
where('projects.last_activity_at < ?', 6.months.ago)
end
Loading
Loading
@@ -976,11 +972,9 @@ class Project < ActiveRecord::Base
end
 
def visibility_level_allowed_as_fork?(level = self.visibility_level)
return true unless forked? && forked_project_link.forked_from_project_id.present?
return true unless forked?
 
from_project = self.forked_from_project
from_project ||= Project.find(forked_project_link.forked_from_project_id)
Gitlab::VisibilityLevel.allowed_fork_levels(from_project.visibility_level).include?(level)
Gitlab::VisibilityLevel.allowed_fork_levels(forked_from_project.visibility_level).include?(level)
end
 
def visibility_level_allowed_by_group?(level = self.visibility_level)
Loading
Loading
Loading
Loading
@@ -4,7 +4,7 @@
= event_action_name(event)
 
- if event.target
%strong= link_to event.target.to_reference, [event.project.namespace.becomes(Namespace), event.project, event.target]
%strong= link_to event.target.reference_link_text, [event.project.namespace.becomes(Namespace), event.project, event.target]
 
= event_preposition(event)
 
Loading
Loading
class IndexNamespacesOnVisibilityLevel < ActiveRecord::Migration
def change
add_index :namespaces, :visibility_level
end
end
Loading
Loading
@@ -601,6 +601,7 @@ ActiveRecord::Schema.define(version: 20160316204731) do
add_index "namespaces", ["path"], name: "index_namespaces_on_path", unique: true, using: :btree
add_index "namespaces", ["path"], name: "index_namespaces_on_path_trigram", using: :gin, opclasses: {"path"=>"gin_trgm_ops"}
add_index "namespaces", ["type"], name: "index_namespaces_on_type", using: :btree
add_index "namespaces", ["visibility_level"], name: "index_namespaces_on_visibility_level", using: :btree
 
create_table "notes", force: :cascade do |t|
t.text "note"
Loading
Loading
Loading
Loading
@@ -38,7 +38,7 @@ module SharedGroup
def is_member_of(username, groupname, role)
@project_count ||= 0
user = User.find_by(name: username) || create(:user, name: username)
group = Group.find_by(name: groupname) || create(:group, name: groupname, visibility_level: Gitlab::VisibilityLevel::PUBLIC)
group = Group.find_by(name: groupname) || create(:group, name: groupname)
group.add_user(user, role)
project ||= create(:project, namespace: group, path: "project#{@project_count}")
create(:closed_issue_event, project: project)
Loading
Loading
@@ -47,6 +47,6 @@ module SharedGroup
end
 
def owned_group
@owned_group ||= Group.find_by(name: "Owned", visibility_level: Gitlab::VisibilityLevel::PUBLIC)
@owned_group ||= Group.find_by(name: "Owned")
end
end
Loading
Loading
@@ -30,44 +30,4 @@ describe ApplicationController do
controller.send(:check_password_expiration)
end
end
describe 'check labels authorization' do
let(:project) { create(:project) }
let(:user) { create(:user) }
let(:controller) { ApplicationController.new }
before do
project.team << [user, :guest]
allow(controller).to receive(:current_user).and_return(user)
allow(controller).to receive(:project).and_return(project)
end
it 'should succeed if issues and MRs are enabled' do
project.issues_enabled = true
project.merge_requests_enabled = true
controller.send(:authorize_read_label!)
expect(response.status).to eq(200)
end
it 'should succeed if issues are enabled, MRs are disabled' do
project.issues_enabled = true
project.merge_requests_enabled = false
controller.send(:authorize_read_label!)
expect(response.status).to eq(200)
end
it 'should succeed if issues are disabled, MRs are enabled' do
project.issues_enabled = false
project.merge_requests_enabled = true
controller.send(:authorize_read_label!)
expect(response.status).to eq(200)
end
it 'should fail if issues and MRs are disabled' do
project.issues_enabled = false
project.merge_requests_enabled = false
expect(controller).to receive(:access_denied!)
controller.send(:authorize_read_label!)
end
end
end
Loading
Loading
@@ -119,7 +119,7 @@ describe Banzai::Filter::RedactorFilter, lib: true do
context 'with data-group' do
it 'removes unpermitted Group references' do
user = create(:user)
group = create(:group)
group = create(:group, :private)
 
link = reference_link(group: group.id, reference_filter: 'UserReferenceFilter')
doc = filter(link, current_user: user)
Loading
Loading
@@ -129,7 +129,7 @@ describe Banzai::Filter::RedactorFilter, lib: true do
 
it 'allows permitted Group references' do
user = create(:user)
group = create(:group)
group = create(:group, :private)
group.add_developer(user)
 
link = reference_link(group: group.id, reference_filter: 'UserReferenceFilter')
Loading
Loading
Loading
Loading
@@ -18,11 +18,11 @@ describe Project, models: true do
let(:report_actions) { Ability.project_report_rules }
let(:dev_actions) { Ability.project_dev_rules }
let(:master_actions) { Ability.project_master_rules }
let(:admin_actions) { Ability.project_admin_rules }
let(:owner_actions) { Ability.project_owner_rules }
 
describe "Non member rules" do
it "should deny for non-project users any actions" do
admin_actions.each do |action|
owner_actions.each do |action|
expect(@abilities.allowed?(@u1, action, @p1)).to be_falsey
end
end
Loading
Loading
@@ -90,20 +90,20 @@ describe Project, models: true do
end
end
 
describe "Admin Rules" do
describe "Owner Rules" do
before do
@p1.project_members.create(project: @p1, user: @u2, access_level: ProjectMember::DEVELOPER)
@p1.project_members.create(project: @p1, user: @u3, access_level: ProjectMember::MASTER)
end
 
it "should deny for masters admin-specific actions" do
[admin_actions - master_actions].each do |action|
[owner_actions - master_actions].each do |action|
expect(@abilities.allowed?(@u2, action, @p1)).to be_falsey
end
end
 
it "should allow for project owner any admin actions" do
admin_actions.each do |action|
owner_actions.each do |action|
expect(@abilities.allowed?(@u4, action, @p1)).to be_truthy
end
end
Loading
Loading
Loading
Loading
@@ -9,7 +9,7 @@ describe API::API, api: true do
let(:admin) { create(:admin) }
let(:avatar_file_path) { File.join(Rails.root, 'spec', 'fixtures', 'banana_sample.gif') }
let!(:group1) { create(:group, avatar: File.open(avatar_file_path)) }
let!(:group2) { create(:group) }
let!(:group2) { create(:group, :private) }
let!(:project1) { create(:project, namespace: group1) }
let!(:project2) { create(:project, namespace: group2) }
 
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment