Class: Swiftrail::Testrail::Api::TestCaseResult

Inherits:
Struct
  • Object
show all
Defined in:
lib/swiftrail/testrail/api/test_case_result.rb

Overview

noinspection RubyConstantNamingConvention

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#case_idObject

Returns the value of attribute case_id

Returns:

  • (Object)

    the current value of case_id



5
6
7
# File 'lib/swiftrail/testrail/api/test_case_result.rb', line 5

def case_id
  @case_id
end

#commentObject

Returns the value of attribute comment

Returns:

  • (Object)

    the current value of comment



5
6
7
# File 'lib/swiftrail/testrail/api/test_case_result.rb', line 5

def comment
  @comment
end

#durationObject

Returns the value of attribute duration

Returns:

  • (Object)

    the current value of duration



5
6
7
# File 'lib/swiftrail/testrail/api/test_case_result.rb', line 5

def duration
  @duration
end

#statusObject

Returns the value of attribute status

Returns:

  • (Object)

    the current value of status



5
6
7
# File 'lib/swiftrail/testrail/api/test_case_result.rb', line 5

def status
  @status
end

Class Method Details

.comment(results) ⇒ Object



22
23
24
25
26
27
28
29
# File 'lib/swiftrail/testrail/api/test_case_result.rb', line 22

def self.comment(results)
  comments = results.map do |result|
    value = " - #{result.success? ? '**SUCCESS**' : '**FAILURE**'}, `#{result.class_name}.#{result.test_name}` in `#{result.file_name}`"
    value += " with following errors \n" + result.failures.map { |message| "   + `#{message}`"}.join("\n") unless result.success?
    value
  end
  (['#Results:#'] + comments + ['']).join("\n")
end

.duration(results) ⇒ Object



31
32
33
# File 'lib/swiftrail/testrail/api/test_case_result.rb', line 31

def self.duration(results)
  format('%.2fs', results.map(&:duration).sum)
end

.from(case_id, results) ⇒ Object



14
15
16
# File 'lib/swiftrail/testrail/api/test_case_result.rb', line 14

def self.from(case_id, results)
  TestCaseResult.new(case_id, comment(results), duration(results), status(results))
end

.status(results) ⇒ Object



18
19
20
# File 'lib/swiftrail/testrail/api/test_case_result.rb', line 18

def self.status(results)
  results.map(&:success?).all? ? 1 : 5
end

Instance Method Details

#to_json(*_args) ⇒ Object



6
7
8
9
10
11
12
# File 'lib/swiftrail/testrail/api/test_case_result.rb', line 6

def to_json(*_args)
  {
    case_id: case_id,
    status_id: status,
    comment: comment
  }
end