Fixed issue #2040: Zendesk import: To/From extraction for system comments fails.
This commit is contained in:
parent
c21be6e928
commit
ad3362e94c
2 changed files with 45 additions and 3 deletions
|
@ -9,9 +9,12 @@ class Sequencer
|
||||||
uses :resource
|
uses :resource
|
||||||
|
|
||||||
def value
|
def value
|
||||||
method_name = resource.via.channel.to_sym
|
return if private_methods(false).exclude?(value_method_name)
|
||||||
return if !respond_to?(method_name, true)
|
send(value_method_name)
|
||||||
send(method_name)
|
end
|
||||||
|
|
||||||
|
def value_method_name
|
||||||
|
@value_method_name ||= resource.via.channel.to_sym
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe Sequencer::Unit::Import::Zendesk::Ticket::Comment::SourceBased, sequencer: :unit do
|
||||||
|
|
||||||
|
before(:all) do
|
||||||
|
|
||||||
|
described_class.class_eval do
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def email
|
||||||
|
'test@example.com'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def parameters_for_channel(channel)
|
||||||
|
{
|
||||||
|
resource: double(
|
||||||
|
via: double(
|
||||||
|
channel: channel
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'for resource.via.channel attribute' do
|
||||||
|
|
||||||
|
it 'provides from existing method' do
|
||||||
|
provided = process(parameters_for_channel('email'))
|
||||||
|
expect(provided[:source_based]).to eq('test@example.com')
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'provides nil for non existing method' do
|
||||||
|
provided = process(parameters_for_channel('system'))
|
||||||
|
expect(provided[:source_based]).to be_nil
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in a new issue