class Swiftrail::Testrail::Assembler
Attributes
junit_test_suites[R]
swift_tests[R]
Public Class Methods
new(swift_tests, junit_test_suites)
click to toggle source
# File lib/swiftrail/testrail/assembler.rb, line 9 def initialize(swift_tests, junit_test_suites) @swift_tests = swift_tests @junit_test_suites = junit_test_suites end
Public Instance Methods
assemble()
click to toggle source
# File lib/swiftrail/testrail/assembler.rb, line 14 def assemble intermediate_results.group_by(&:case_id).map do |k, v| Api::TestCaseResult.from(k, v) end end
Private Instance Methods
intermediate_results()
click to toggle source
# File lib/swiftrail/testrail/assembler.rb, line 24 def intermediate_results junit_test_suites.map(&method(:test_cases)).flatten end
search_cases_ids(test_case)
click to toggle source
lookup case ids in test_case name
# File lib/swiftrail/testrail/assembler.rb, line 42 def search_cases_ids(test_case) result = QuickNimble::Parser.new().extract_information(test_case.test_name) if result.case_ids.empty? [] else result.case_ids.map do |case_id| IntermediateResult.new(result.test_name, result.test_name, result.test_name, test_case.success?, test_case.duration, test_case.failures, case_id) end end end
swift_test_for(junit_test_case)
click to toggle source
# File lib/swiftrail/testrail/assembler.rb, line 53 def swift_test_for(junit_test_case) tests = swift_tests.select do |test| test.class_name == junit_test_case.class_name && test.test_name == junit_test_case.test_name end if tests.count > 1 STDERR.puts(Error::Ambiguity.new(junit_test_case, tests)) nil else tests.first end end
test_cases(test_suite)
click to toggle source
# File lib/swiftrail/testrail/assembler.rb, line 28 def test_cases(test_suite) test_suite.test_cases.map do |test_case| swift_test = swift_test_for(test_case) if swift_test.nil? search_cases_ids(test_case) else swift_test.case_ids.map do |case_id| IntermediateResult.new(swift_test.file_name, swift_test.class_name, swift_test.test_name, test_case.success?, test_case.duration, test_case.failures, case_id) end end end end