2020-03-03 16:08:37 -05:00
# 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' ) &&
2020-04-16 02:09:39 -04:00
file . end_with? ( '_spec.js' ) &&
2020-03-03 16:08:37 -05:00
! 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 / 3 b6fe2f1077eedb0b8aff02a7350234f0b7dc4f9 / 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