Module: AeTestCoverage::Collectors::Webpacker::Helpers

Defined in:
lib/ae_test_coverage/collectors/webpacker/helpers.rb

Instance Method Summary collapse

Instance Method Details

#add_to_coverage(names) ⇒ Object

Raises:

  • (StandardError)


27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/ae_test_coverage/collectors/webpacker/helpers.rb', line 27

def add_to_coverage(names)
  raise(StandardError, 'AeTestCoverage.config.webpacker_app_locations must be set to collect webpacker app coverage') if AeTestCoverage.config.webpacker_app_locations.blank?

  globs = names.flat_map do |name|
    app_home = javascript_app_home(name)
    raise(StandardError, "Unable to locate source location for javascript app #{name}") unless Dir.exist?(app_home)

    [
      File.join(app_home, 'src', '**.{scss,css,js}'),
      File.join(app_home, 'package*.json')
    ]
  end
  AeTestCoverage.coverage_collectors[WebpackerAppCollector].add_covered_globs(*globs)
end

#append_javascript_pack_tag(*names, **options) ⇒ Object



7
8
9
10
# File 'lib/ae_test_coverage/collectors/webpacker/helpers.rb', line 7

def append_javascript_pack_tag(*names, **options)
  add_to_coverage(names)
  super
end

#javascript_app_home(name) ⇒ Object



42
43
44
45
46
47
48
# File 'lib/ae_test_coverage/collectors/webpacker/helpers.rb', line 42

def javascript_app_home(name)
  AeTestCoverage.config.webpacker_app_locations.map do |potential_app_root|
    File.join(potential_app_root, name)
  end.detect do |potential_app_home|
    Dir.exist?(potential_app_home)
  end
end

#javascript_pack_tag(*names, **options) ⇒ Object



12
13
14
15
# File 'lib/ae_test_coverage/collectors/webpacker/helpers.rb', line 12

def javascript_pack_tag(*names, **options)
  add_to_coverage(names)
  super
end

#stylesheet_pack_tag(*names, **options) ⇒ Object



17
18
19
20
# File 'lib/ae_test_coverage/collectors/webpacker/helpers.rb', line 17

def stylesheet_pack_tag(*names, **options)
  add_to_coverage(names)
  super
end

#stylesheet_packs_with_chunks_tag(*names, **options) ⇒ Object



22
23
24
25
# File 'lib/ae_test_coverage/collectors/webpacker/helpers.rb', line 22

def stylesheet_packs_with_chunks_tag(*names, **options)
  add_to_coverage(names)
  super
end