Class: Rolemodel::Testing::JasminePlaywrightGenerator

Inherits:
GeneratorBase
  • Object
show all
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

Instance Method Details

#add_browser_test_scriptObject



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_dependenciesObject



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_filesObject



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_tokenObject

Raises:

  • (Thor::InvocationError)


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 options[:github_package_token].blank?
end

#set_node_versionObject



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_existsObject



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.expand_path('package.json', destination_root))
end