1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
# frozen_string_literal: true
RSpec.describe QA::Support::KnapsackReport do
subject(:knapsack_report) { described_class.new('instance') }
describe '#create_for_selective' do
let(:qa_tests) do
<<~CMD
qa/specs/features/api/3_create
qa/specs/features/browser_ui/3_create/
qa/specs/features/ee/api/3_create/
qa/specs/features/ee/browser_ui/3_create/
CMD
end
let(:fixtures_path) { 'spec/fixtures/knapsack_report' }
let(:expected_output) { JSON.parse(File.read(File.join(fixtures_path, 'instance-selective-parallel.json'))) }
before do
allow(File).to receive(:read).and_call_original
allow(File).to receive(:read)
.with('knapsack/instance.json')
.and_return(File.read(File.join(fixtures_path, 'instance.json')))
end
it 'creates a filtered file based on qa_tests' do
expect(File).to receive(:write).with('knapsack/instance-selective-parallel.json', expected_output.to_json)
knapsack_report.create_for_selective(qa_tests)
end
end
end
|