Class: Fitting::Report::Tests

Inherits:
Object
  • Object
show all
Defined in:
lib/fitting/report/tests.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(tests) ⇒ Tests

Returns a new instance of Tests.



8
9
10
# File 'lib/fitting/report/tests.rb', line 8

def initialize(tests)
  @tests = tests
end

Instance Attribute Details

#testsObject (readonly)

Returns the value of attribute tests.



6
7
8
# File 'lib/fitting/report/tests.rb', line 6

def tests
  @tests
end

Class Method Details

.new_from_configObject



12
13
14
15
16
17
18
19
# File 'lib/fitting/report/tests.rb', line 12

def self.new_from_config
  tests = []
  File.read('log/test.log').split("\n").select{|f|f.include?('incoming request ')}.each do |test|
    tests.push(Fitting::Report::Test.new(JSON.load(test.split('incoming request ')[1])))
  end
  tests.sort { |a, b| b.path <=> a.path }
  new(tests)
end

.new_from_outgoing_configObject



21
22
23
24
25
26
27
28
# File 'lib/fitting/report/tests.rb', line 21

def self.new_from_outgoing_config
  tests = []
  File.read('log/test.log').split("\n").select{|f|f.include?('outgoing request ')}.each do |test|
    tests.push(Fitting::Report::Test.new(JSON.load(test.split('outgoing request ')[1])))
  end
  tests.sort { |a, b| b.path <=> a.path }
  new(tests)
end

Instance Method Details

#push(test) ⇒ Object



54
55
56
# File 'lib/fitting/report/tests.rb', line 54

def push(test)
  tests.push(test)
end

#sizeObject



58
59
60
# File 'lib/fitting/report/tests.rb', line 58

def size
  tests.size
end

#to_aObject



62
63
64
# File 'lib/fitting/report/tests.rb', line 62

def to_a
  tests
end

#to_hObject



66
67
68
69
70
71
72
# File 'lib/fitting/report/tests.rb', line 66

def to_h
  return @hash if @hash

  @hash = tests.inject({}) do |res, test|
    res.merge!(test.id => test.to_h)
  end
end

#without_actionsObject



36
37
38
39
40
# File 'lib/fitting/report/tests.rb', line 36

def without_actions
  tests.each_with_object([]) do |test, result|
    result.push("#{test.method} #{test.path}") unless test.there_an_actions?
  end
end

#without_combinationsObject



48
49
50
51
52
# File 'lib/fitting/report/tests.rb', line 48

def without_combinations
  tests.each_with_object([]) do |test, result|
    result.push(test.path) unless test.there_an_combinations?
  end
end

#without_prefixesObject



30
31
32
33
34
# File 'lib/fitting/report/tests.rb', line 30

def without_prefixes
  tests.each_with_object([]) do |test, result|
    result.push(test.path) unless test.there_a_prefix?
  end
end

#without_responsesObject



42
43
44
45
46
# File 'lib/fitting/report/tests.rb', line 42

def without_responses
  tests.each_with_object([]) do |test, result|
    result.push(test.id) unless test.there_an_responses?
  end
end