class AllureRspec::SuiteLabels
Suite label generator
Attributes
example_group[R]
Public Class Methods
new(example_group)
click to toggle source
# File lib/allure_rspec/suite_labels.rb, line 9 def initialize(example_group) @example_group = example_group end
Public Instance Methods
fetch()
click to toggle source
Get test suite labels @return [Array<Allure::Label>]
# File lib/allure_rspec/suite_labels.rb, line 15 def fetch parents = example_group.parent_groups.map do |group| group.description.empty? ? "Anonymous" : group.description end labels = [] labels << Allure::ResultUtils.suite_label(suite(parents)) labels << Allure::ResultUtils.parent_suite_label(parent_suite(parents)) if parent_suite(parents) labels << Allure::ResultUtils.sub_suite_label(sub_suites(parents)) if sub_suites(parents) labels end
Private Instance Methods
parent_suite(parents)
click to toggle source
@param [Array<String>] parents @return [String]
# File lib/allure_rspec/suite_labels.rb, line 40 def parent_suite(parents) parents.length > 1 ? parents.last : nil end
sub_suites(parents)
click to toggle source
@param [Array<String>] parents @return [String]
# File lib/allure_rspec/suite_labels.rb, line 46 def sub_suites(parents) parents.length > 2 ? parents[0..-3].join(" > ") : nil end
suite(parents)
click to toggle source
@param [Array<String>] parents @return [String]
# File lib/allure_rspec/suite_labels.rb, line 34 def suite(parents) parents.length == 1 ? parents.last : parents[-2] end