2021-02-05 07:09:31 -05:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2019-07-17 18:17:37 -04:00
|
|
|
unless Rails.env.production?
|
|
|
|
namespace :frontend do
|
|
|
|
desc 'GitLab | Frontend | Generate fixtures for JavaScript tests'
|
|
|
|
RSpec::Core::RakeTask.new(:fixtures, [:pattern]) do |t, args|
|
2019-10-04 11:06:38 -04:00
|
|
|
directories = %w[spec]
|
|
|
|
directories << 'ee/spec' if Gitlab.ee?
|
|
|
|
directory_glob = "{#{directories.join(',')}}"
|
2021-02-02 13:09:42 -05:00
|
|
|
args.with_defaults(pattern: "#{directory_glob}/frontend/fixtures/**/*.rb")
|
2019-07-17 18:17:37 -04:00
|
|
|
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
|