Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/helpers/projects_helper_spec.rb')
-rw-r--r--spec/helpers/projects_helper_spec.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/spec/helpers/projects_helper_spec.rb b/spec/helpers/projects_helper_spec.rb
index 5d2af567549..cc443afee6e 100644
--- a/spec/helpers/projects_helper_spec.rb
+++ b/spec/helpers/projects_helper_spec.rb
@@ -991,4 +991,31 @@ RSpec.describe ProjectsHelper do
expect(subject).to eq(project.path_with_namespace)
end
end
+
+ describe '#fork_button_disabled_tooltip' do
+ using RSpec::Parameterized::TableSyntax
+
+ subject { helper.fork_button_disabled_tooltip(project) }
+
+ where(:has_user, :can_fork_project, :can_create_fork, :expected) do
+ false | false | false | nil
+ true | true | true | nil
+ true | false | true | 'You don\'t have permission to fork this project'
+ true | true | false | 'You have reached your project limit'
+ end
+
+ with_them do
+ before do
+ current_user = user if has_user
+
+ allow(helper).to receive(:current_user).and_return(current_user)
+ allow(user).to receive(:can?).with(:fork_project, project).and_return(can_fork_project)
+ allow(user).to receive(:can?).with(:create_fork).and_return(can_create_fork)
+ end
+
+ it 'returns tooltip text when user lacks privilege' do
+ expect(subject).to eq(expected)
+ end
+ end
+ end
end