From 0463e9ae77b07945f3415585e6522767c5a5245e Mon Sep 17 00:00:00 2001 From: Vince Broz Date: Fri, 3 Jan 2020 12:35:04 -0500 Subject: [PATCH] Add public interface spec for use by bigfiles gem --- .../quality/bigfiles_use_of_quality_spec.rb | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 feature/quality/bigfiles_use_of_quality_spec.rb diff --git a/feature/quality/bigfiles_use_of_quality_spec.rb b/feature/quality/bigfiles_use_of_quality_spec.rb new file mode 100644 index 0000000..f1fceeb --- /dev/null +++ b/feature/quality/bigfiles_use_of_quality_spec.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +require 'tmpdir' +require 'quality/threshold' + +# Example use from https://github.com/apiology/bigfiles + +# This spec is here to make sure we don't break backwards +# compatibility with how this is used elsewhere (i.e., establish a +# public interface). + +describe Quality do + let(:quality_threshold) { ::Quality::Threshold.new('bigfiles') } + let(:threshold) { quality_threshold.threshold } + let(:threshold_from_file) { 543 } + let(:example_files) do + { + %w[metrics bigfiles_high_water_mark] => "#{threshold_from_file}\n", + } + end + + around do |example| + Dir.mktmpdir do |dir| + Dir.chdir(dir) do + example_files.each do |(subdir, filename), contents| + Dir.mkdir(subdir) + Dir.chdir(subdir) do + File.write(filename, contents) + end + end + example.run + end + end + end + + it 'continues to behave like it did' do + expect(threshold).to eq(threshold_from_file) + end +end