mirror of
https://github.com/usetrmnl/trmnl-api.git
synced 2026-04-29 13:35:13 -07:00
Necessary to a define shared example for all endpoints to reduce duplication. This'll soon be used in all endpoint specs. Milestone: minor
51 lines
1.3 KiB
Ruby
51 lines
1.3 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require "simplecov"
|
|
|
|
unless ENV["NO_COVERAGE"]
|
|
SimpleCov.start do
|
|
add_filter %r(^/spec/)
|
|
enable_coverage :branch
|
|
enable_coverage_for_eval
|
|
minimum_coverage_by_file line: 95, branch: 95
|
|
end
|
|
end
|
|
|
|
Bundler.require :tools
|
|
|
|
require "dry/monads"
|
|
require "http/fake"
|
|
require "refinements"
|
|
require "trmnl/api"
|
|
|
|
SPEC_ROOT = Pathname(__dir__).realpath.freeze
|
|
|
|
using Refinements::Pathname
|
|
|
|
Pathname.require_tree SPEC_ROOT.join("support/shared_contexts")
|
|
Pathname.require_tree SPEC_ROOT.join("support/shared_examples")
|
|
|
|
RSpec.configure do |config|
|
|
config.color = true
|
|
config.disable_monkey_patching!
|
|
config.example_status_persistence_file_path = "./tmp/rspec-examples.txt"
|
|
config.filter_run_when_matching :focus
|
|
config.formatter = ENV.fetch("CI", false) == "true" ? :progress : :documentation
|
|
config.order = :random
|
|
config.pending_failure_output = :no_backtrace
|
|
config.shared_context_metadata_behavior = :apply_to_host_groups
|
|
config.warnings = true
|
|
|
|
config.expect_with :rspec do |expectations|
|
|
expectations.syntax = :expect
|
|
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
|
end
|
|
|
|
config.mock_with :rspec do |mocks|
|
|
mocks.verify_doubled_constant_names = true
|
|
mocks.verify_partial_doubles = true
|
|
end
|
|
|
|
config.before(:suite) { Dry::Monads.load_extensions :rspec }
|
|
end
|