summaryrefslogtreecommitdiff
path: root/spec/lib/bulk_imports/groups/extractors/subgroups_extractor_spec.rb
blob: ac8786440e9e01fead163522d53dab17a35ec50f (plain)
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
# frozen_string_literal: true

require 'spec_helper'

RSpec.describe BulkImports::Groups::Extractors::SubgroupsExtractor do
  describe '#extract' do
    it 'returns ExtractedData response' do
      bulk_import = create(:bulk_import)
      create(:bulk_import_configuration, bulk_import: bulk_import)
      entity = create(:bulk_import_entity, bulk_import: bulk_import)
      tracker = create(:bulk_import_tracker, entity: entity)
      response = [{ 'test' => 'group' }]
      context = BulkImports::Pipeline::Context.new(tracker)

      allow_next_instance_of(BulkImports::Clients::Http) do |client|
        allow(client).to receive(:each_page).and_return(response)
      end

      extracted_data = subject.extract(context)

      expect(extracted_data).to be_instance_of(BulkImports::Pipeline::ExtractedData)
      expect(extracted_data.data).to eq(response)
    end
  end
end