Class: GitlabQuality::TestTooling::CodeCoverage::TestFileMappingData

Inherits:
Object
  • Object
show all
Defined in:
lib/gitlab_quality/test_tooling/code_coverage/test_file_mapping_data.rb

Instance Method Summary collapse

Constructor Details

#initialize(test_to_sources) ⇒ TestFileMappingData

Returns a new instance of TestFileMappingData.

Parameters:

  • test_to_sources (Hash<String, Array<String>>)

    Test files mapped to all source files they cover



9
10
11
# File 'lib/gitlab_quality/test_tooling/code_coverage/test_file_mapping_data.rb', line 9

def initialize(test_to_sources)
  @test_to_sources = test_to_sources
end

Instance Method Details

#as_db_tableArray<Hash<Symbol, String>>

Returns Mapping data formatted for database insertion.

Examples:

Return value

[
  { test_file: "spec/models/user_spec.rb", source_file: "app/models/user.rb" },
  { test_file: "spec/models/user_spec.rb", source_file: "lib/utils.rb" },
  ...
]

Returns:

  • (Array<Hash<Symbol, String>>)

    Mapping data formatted for database insertion



20
21
22
23
24
25
26
27
28
29
# File 'lib/gitlab_quality/test_tooling/code_coverage/test_file_mapping_data.rb', line 20

def as_db_table
  @test_to_sources.flat_map do |test_file, source_files|
    source_files.map do |source_file|
      {
        test_file: test_file,
        source_file: source_file
      }
    end
  end
end