64 lines
1.6 KiB
Ruby
64 lines
1.6 KiB
Ruby
|
# Copyright (C) 2012-2021 Zammad Foundation, http://zammad-foundation.org/
|
||
|
|
||
|
require 'rails_helper'
|
||
|
require 'zendesk_api'
|
||
|
|
||
|
RSpec.describe ::Sequencer::Sequence::Import::Zendesk::Group, sequencer: :sequence do
|
||
|
|
||
|
context 'when importing groups from Zendesk' do
|
||
|
|
||
|
let(:base_resource) do
|
||
|
ZendeskAPI::Group.new(
|
||
|
nil,
|
||
|
{
|
||
|
'id' => 24_165_105,
|
||
|
'name' => 'Additional Group',
|
||
|
'description' => '',
|
||
|
'default' => false,
|
||
|
'created_at' => '2015-12-04 13:11:59 UTC',
|
||
|
'updated_at' => '2015-12-04 13:11:59 UTC'
|
||
|
}
|
||
|
)
|
||
|
end
|
||
|
|
||
|
let(:process_payload) do
|
||
|
{
|
||
|
import_job: build_stubbed(:import_job, name: 'Import::Zendesk', payload: {}),
|
||
|
dry_run: false,
|
||
|
resource: resource,
|
||
|
field_map: {},
|
||
|
}
|
||
|
end
|
||
|
|
||
|
context 'with active group' do
|
||
|
|
||
|
let(:resource) do
|
||
|
base_resource.merge('deleted' => false)
|
||
|
end
|
||
|
|
||
|
it 'adds groups' do # rubocop:disable RSpec/MultipleExpectations
|
||
|
expect { process(process_payload) }.to change(Group, :count).by(1)
|
||
|
expect(Group.last).to have_attributes(
|
||
|
name: 'Additional Group',
|
||
|
active: true,
|
||
|
)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
context 'with inactive group' do
|
||
|
|
||
|
let(:resource) do
|
||
|
base_resource.merge('deleted' => true)
|
||
|
end
|
||
|
|
||
|
it 'adds groups' do # rubocop:disable RSpec/MultipleExpectations
|
||
|
expect { process(process_payload) }.to change(Group, :count).by(1)
|
||
|
expect(Group.last).to have_attributes(
|
||
|
name: 'Additional Group',
|
||
|
active: false,
|
||
|
)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|