require_relative "../../support/require_order"

# load cucumber profile TODO: replace envconfig completely
BROWSER = Support::Browser.new(PROFILE.browser)
MISC_SETTINGS = PROFILE.misc

require "bigdecimal/util" # used by accounting
require_rel "world"

# PageObject::PageFactory extends Cucumber World because we want the
# #visit_page and #on_page methods available in the Step Definitions
World(
  PageObject::PageFactory,
  World::CodeHelpers,
  World::Helpers,
  World::FeatureControlHelpers,
  World::StepHelpers,
  World::MathHelper
)

# add scheme, host, and queries to page_url method
InjectPageURLs.with(
  infer_host?: true,
  use_query_methods?: true
)

require_rel "page_helpers"
UniversalPage.include PageHelpers::PageVerifier

BROWSER.start
