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/frontend/fixtures/project.rb')
-rw-r--r--spec/frontend/fixtures/project.rb51
1 files changed, 51 insertions, 0 deletions
diff --git a/spec/frontend/fixtures/project.rb b/spec/frontend/fixtures/project.rb
new file mode 100644
index 00000000000..6100248d0a5
--- /dev/null
+++ b/spec/frontend/fixtures/project.rb
@@ -0,0 +1,51 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+RSpec.describe 'Project (GraphQL fixtures)', feature_category: :groups_and_projects do
+ describe GraphQL::Query, type: :request do
+ include ApiHelpers
+ include GraphqlHelpers
+ include JavaScriptFixturesHelpers
+ include ProjectForksHelper
+
+ let_it_be(:project) { create(:project, :repository) }
+ let_it_be(:current_user) { create(:user) }
+
+ describe 'writable forks' do
+ writeable_forks_query_path = 'vue_shared/components/web_ide/get_writable_forks.query.graphql'
+
+ let(:query) { get_graphql_query_as_string(writeable_forks_query_path) }
+
+ subject { post_graphql(query, current_user: current_user, variables: { projectPath: project.full_path }) }
+
+ before do
+ project.add_developer(current_user)
+ end
+
+ context 'with none' do
+ it "graphql/#{writeable_forks_query_path}_none.json" do
+ subject
+
+ expect_graphql_errors_to_be_empty
+ end
+ end
+
+ context 'with some' do
+ let_it_be(:fork1) { fork_project(project, nil, repository: true) }
+ let_it_be(:fork2) { fork_project(project, nil, repository: true) }
+
+ before_all do
+ fork1.add_developer(current_user)
+ fork2.add_developer(current_user)
+ end
+
+ it "graphql/#{writeable_forks_query_path}_some.json" do
+ subject
+
+ expect_graphql_errors_to_be_empty
+ end
+ end
+ end
+ end
+end