51 lines
1.6 KiB
Ruby
51 lines
1.6 KiB
Ruby
# frozen_string_literal: true
|
|
# rubocop:disable Style/SignalException
|
|
|
|
def get_karma_files(files)
|
|
files.select do |file|
|
|
file.start_with?('ee/spec/javascripts', 'spec/javascripts') &&
|
|
file.end_with?('_spec.js') &&
|
|
!file.end_with?('browser_spec.js')
|
|
end
|
|
end
|
|
|
|
new_karma_files = get_karma_files(git.added_files.to_a)
|
|
|
|
unless new_karma_files.empty?
|
|
|
|
if GitlabDanger.new(helper.gitlab_helper).ci?
|
|
markdown(<<~MARKDOWN)
|
|
## New karma spec file
|
|
|
|
New frontend specs ([except `browser_specs`](https://gitlab.com/gitlab-org/gitlab/blob/3b6fe2f1077eedb0b8aff02a7350234f0b7dc4f9/spec/javascripts/lib/utils/browser_spec.js#L2)) should be
|
|
[written in jest](https://docs.gitlab.com/ee/development/testing_guide/frontend_testing.html#jest).
|
|
|
|
You have created the following tests, please migrate them over to jest:
|
|
|
|
* #{new_karma_files.map { |path| "`#{path}`" }.join("\n* ")}
|
|
MARKDOWN
|
|
end
|
|
|
|
fail "You have created a new karma spec file"
|
|
|
|
end
|
|
|
|
changed_karma_files = get_karma_files(helper.all_changed_files) - new_karma_files
|
|
|
|
return if changed_karma_files.empty?
|
|
|
|
warn 'You have edited karma spec files. Please consider migrating them to jest.'
|
|
|
|
if GitlabDanger.new(helper.gitlab_helper).ci?
|
|
markdown(<<~MARKDOWN)
|
|
## Edited karma files
|
|
|
|
You have edited the following karma spec files. Please consider migrating them to jest:
|
|
|
|
* #{changed_karma_files.map { |path| "`#{path}`" }.join("\n* ")}
|
|
|
|
In order to align with our Iteration value, migration can also be done as a follow-up.
|
|
|
|
For more information: [Jestodus epic](https://gitlab.com/groups/gitlab-org/-/epics/895)
|
|
MARKDOWN
|
|
end
|