File: frontend.rake

package info (click to toggle)
gitlab 17.6.5-19
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 629,368 kB
  • sloc: ruby: 1,915,304; javascript: 557,307; sql: 60,639; xml: 6,509; sh: 4,567; makefile: 1,239; python: 406
file content (31 lines) | stat: -rw-r--r-- 1,076 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# frozen_string_literal: true

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(',')}}"
      args.with_defaults(pattern: "#{directory_glob}/frontend/fixtures/**/*.rb")
      ENV['NO_KNAPSACK'] = 'true'
      t.pattern = args[:pattern]
      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
  end

  desc 'GitLab | Frontend | Shortcut for frontend:fixtures and frontend:tests'
  task frontend: ['frontend:fixtures', 'frontend:tests']
end