diff options
Diffstat (limited to 'qa/spec/tools/test_resources_data_processor_spec.rb')
-rw-r--r-- | qa/spec/tools/test_resources_data_processor_spec.rb | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/qa/spec/tools/test_resources_data_processor_spec.rb b/qa/spec/tools/test_resources_data_processor_spec.rb new file mode 100644 index 00000000000..6a8c0fd06a4 --- /dev/null +++ b/qa/spec/tools/test_resources_data_processor_spec.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +RSpec.describe QA::Tools::TestResourceDataProcessor do + let(:info) { 'information' } + let(:api_path) { '/foo' } + let(:result) { [{ info: info, api_path: api_path }] } + + describe '.collect' do + context 'when resource is not restricted' do + let(:resource) { instance_double(QA::Resource::Project, api_delete_path: '/foo', api_response: 'foo') } + + it 'collects resource' do + expect(described_class.collect(resource, info)).to eq(result) + end + end + + context 'when resource api response is nil' do + let(:resource) { double(QA::Resource::Project, api_delete_path: '/foo', api_response: nil) } + + it 'does not collect resource' do + expect(described_class.collect(resource, info)).to eq(nil) + end + end + + context 'when resource is restricted' do + let(:resource) { double(QA::Resource::Sandbox, api_delete_path: '/foo', api_response: 'foo') } + + it 'does not collect resource' do + expect(described_class.collect(resource, info)).to eq(nil) + end + end + end +end |