Class: Rolemodel::Testing::JasminePlaywrightGenerator
- Inherits:
-
GeneratorBase
- Object
- Rails::Generators::Base
- GeneratorBase
- Rolemodel::Testing::JasminePlaywrightGenerator
- Includes:
- ReplaceContentHelper
- Defined in:
- lib/generators/rolemodel/testing/jasmine_playwright/jasmine_playwright_generator.rb
Constant Summary collapse
- TEST_COMMAND =
'NODE_ENV=test jp-runner --config jp-runner.config.mjs --webpack-config webpack.config.cjs'- DEV_DEPENDENCIES =
%w[ @rolemodel/jasmine-playwright-runner playwright lit-html ].freeze
Instance Method Summary collapse
- #add_browser_test_script ⇒ Object
- #add_dev_dependencies ⇒ Object
- #add_spec_config_files ⇒ Object
- #fail_without_github_token ⇒ Object
- #set_node_version ⇒ Object
- #yarn_init_unless_package_json_exists ⇒ Object
Instance Method Details
#add_browser_test_script ⇒ Object
25 26 27 28 29 |
# File 'lib/generators/rolemodel/testing/jasmine_playwright/jasmine_playwright_generator.rb', line 25 def add_browser_test_script say 'Adding yarn test:browser command', :green add_package_json_script 'test:browser', TEST_COMMAND end |
#add_dev_dependencies ⇒ Object
37 38 39 40 41 |
# File 'lib/generators/rolemodel/testing/jasmine_playwright/jasmine_playwright_generator.rb', line 37 def add_dev_dependencies say 'Adding new dev dependency to package.json', :green run "yarn add --dev #{DEV_DEPENDENCIES.join(' ')}" end |
#add_spec_config_files ⇒ Object
43 44 45 46 47 48 49 |
# File 'lib/generators/rolemodel/testing/jasmine_playwright/jasmine_playwright_generator.rb', line 43 def add_spec_config_files say 'Adding Jasmine Playwright configuration files', :green template 'spec/javascript/browser/example_spec.js' template 'jp-runner.config.mjs' template 'spec/javascript/browser/setupTests.js' end |
#fail_without_github_token ⇒ Object
17 18 19 |
# File 'lib/generators/rolemodel/testing/jasmine_playwright/jasmine_playwright_generator.rb', line 17 def fail_without_github_token raise Thor::InvocationError, 'a --github_package_token option or GITHUB_PACKAGES_TOKEN environment variable is required' if [:github_package_token].blank? end |
#set_node_version ⇒ Object
31 32 33 34 35 |
# File 'lib/generators/rolemodel/testing/jasmine_playwright/jasmine_playwright_generator.rb', line 31 def set_node_version say "Setting local Node version to #{set_color(NODE_VERSION, :yellow)}", :green create_file '.node-version', NODE_VERSION, force: true end |
#yarn_init_unless_package_json_exists ⇒ Object
21 22 23 |
# File 'lib/generators/rolemodel/testing/jasmine_playwright/jasmine_playwright_generator.rb', line 21 def yarn_init_unless_package_json_exists run 'yarn init' unless File.exist?(File.('package.json', destination_root)) end |