diff options
Diffstat (limited to 'lib/tasks/frontend.rake')
-rw-r--r-- | lib/tasks/frontend.rake | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/tasks/frontend.rake b/lib/tasks/frontend.rake index b2d2c4e3f2b..95f26cc0800 100644 --- a/lib/tasks/frontend.rake +++ b/lib/tasks/frontend.rake @@ -1,4 +1,5 @@ # frozen_string_literal: true +require 'yaml' unless Rails.env.production? namespace :frontend do @@ -13,12 +14,28 @@ 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| + 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' |