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 'lib/tasks/frontend.rake')
-rw-r--r--lib/tasks/frontend.rake23
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/tasks/frontend.rake b/lib/tasks/frontend.rake
index b2d2c4e3f2b..e768c42736d 100644
--- a/lib/tasks/frontend.rake
+++ b/lib/tasks/frontend.rake
@@ -4,6 +4,11 @@ unless Rails.env.production?
namespace :frontend do
desc 'GitLab | Frontend | Generate fixtures for JavaScript tests'
RSpec::Core::RakeTask.new(:fixtures, [:pattern]) do |t, args|
+ require 'fileutils'
+ require_relative '../../spec/support/helpers/javascript_fixtures_helpers'
+
+ FileUtils.rm_r(JavaScriptFixturesHelpers.fixture_root_path, force: true)
+
directories = %w[spec]
directories << 'ee/spec' if Gitlab.ee?
directory_glob = "{#{directories.join(',')}}"
@@ -13,12 +18,30 @@ unless Rails.env.production?
t.rspec_opts = '--format documentation'
end
+ desc 'GitLab | Frontend | Generate fixtures for JavaScript integration tests'
+ RSpec::Core::RakeTask.new(:mock_server_rspec_fixtures) do |t, args|
+ require 'yaml'
+
+ base_path = Pathname.new('spec/frontend_integration/fixture_generators.yml')
+ ee_path = Pathname.new('ee') + base_path
+
+ fixtures = YAML.safe_load(base_path.read)
+ fixtures.concat(Array(YAML.safe_load(ee_path.read))) if Gitlab.ee? && ee_path.exist?
+
+ t.pattern = fixtures.join(',')
+ ENV['NO_KNAPSACK'] = 'true'
+ t.rspec_opts = '--format documentation'
+ end
+
desc 'GitLab | Frontend | Run JavaScript tests'
task tests: ['yarn:check'] do
sh "yarn test" do |ok, res|
abort('rake frontend:tests failed') unless ok
end
end
+
+ desc 'GitLab | Frontend | Shortcut for generating all fixtures used by MirajeJS mock server'
+ task mock_server_fixtures: ['frontend:mock_server_rspec_fixtures', 'gitlab:graphql:schema:dump']
end
desc 'GitLab | Frontend | Shortcut for frontend:fixtures and frontend:tests'