module Storexplore::Testing
Extra facilities to ease testing custom store APIs.
Public Class Methods
config() { |config| ... }
click to toggle source
Call this with a block to initialize Storexplore::Testing
. The given block receives the Storexplore::Testing::Configuration
as argument.
# File lib/storexplore/testing/configuration.rb, line 30 def self.config @config ||= Configuration.new yield @config if block_given? @config end
Public Instance Methods
dig(categories, message)
click to toggle source
# File lib/storexplore/testing/api_shared_context.rb, line 51 def dig(categories, message) categories.map { |cat| cat.send(message).to_a[@range] }.flatten end
dig_deep(categories)
click to toggle source
# File lib/storexplore/testing/api_shared_context.rb, line 55 def dig_deep(categories) all_categories = [categories] items = [] while not categories.empty? and items.empty? items = dig(categories, :items) categories = dig(categories, :categories) all_categories << categories end [all_categories.flatten, items] end
explore_store()
click to toggle source
# File lib/storexplore/testing/api_shared_context.rb, line 39 def explore_store @sample_categories = dig([store], :categories) @all_sample_categories, @sample_items = dig_deep(@sample_categories) @valid_sample_items = valid_items(@sample_items) @sample_items_attributes = (valid_sample_items.map &:attributes).uniq @parseable_categories_attributes = all_sample_categories.map do |category| category.attributes rescue {} end end
logger()
click to toggle source
# File lib/storexplore/testing/api_shared_context.rb, line 81 def logger Testing.config.logger end
valid_items(items)
click to toggle source
# File lib/storexplore/testing/api_shared_context.rb, line 68 def valid_items(items) result = [] sample_items.each do |item| begin item.attributes result.push(item) rescue BrowsingError => e Testing.logger.debug e.message end end result end