Sha256: 34de7d1575cd706b6b7bbfd921a03c52a61fb4cdb2cf7e2dddc55ca050177c92

Contents?: true

Size: 1.68 KB

Versions: 3

Compression:

Stored size: 1.68 KB

Contents

module Fitting
  module Report
    class Console
      def initialize(tests_without_prefixes, prefixes_details)
        @tests_without_prefixes = tests_without_prefixes
        @prefixes_details = prefixes_details
        @good = true
        @tests_without_actions = []
        @tests_without_responses = []
      end

      def output
        doc_res = @prefixes_details.inject('') do |res, prefix_details|
          res += "#{prefix_details[:name]}\n"
          @tests_without_actions += prefix_details[:actions][:tests_without_actions]
          res += prefix_details[:actions][:actions_details].inject('') do |res_actions, action|
            res_actions += "#{action[:method]}\t#{action[:path]}"
            tab = "\t" * ((3 - action[:path].size / 8) + 3)
            @tests_without_responses += action[:responses][:tests_without_responses]
            res_actions += tab + action[:responses][:responses_details].inject('') do |res_responses, response|
              @good = false if response[:combinations][:cover_percent] != '100%'
              res_responses += " #{response[:combinations][:cover_percent]} #{response[:method]}"
            end
            res_actions += "\n"
          end
        end
        doc_res += "\n"
        doc_res += "tests_without_prefixes: #{@tests_without_prefixes.size}\n"
        doc_res += "tests_without_actions: #{@tests_without_actions.size}\n"
        doc_res += "tests_without_responses: #{@tests_without_responses.size}\n"
      end

      def good?
        return false if @tests_without_prefixes.size != 0
        return false if @tests_without_actions.size != 0
        return false if @tests_without_responses.size != 0
        @good
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
fitting-2.15.0 lib/fitting/report/console.rb
fitting-2.14.1 lib/fitting/report/console.rb
fitting-2.14.0 lib/fitting/report/console.rb