diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 00000000..0523d240 Binary files /dev/null and b/.DS_Store differ diff --git a/integrations/Gemfile b/integrations/Gemfile index 667bf366..cd0bd435 100644 --- a/integrations/Gemfile +++ b/integrations/Gemfile @@ -51,6 +51,8 @@ gem "net-sftp" gem "csv" +gem "zendesk_api" + group :development, :test do gem "simplecov", require: false gem "simplecov_json_formatter", require: false diff --git a/integrations/lib/multiwoven/integrations.rb b/integrations/lib/multiwoven/integrations.rb index 16325115..97b2f0b3 100644 --- a/integrations/lib/multiwoven/integrations.rb +++ b/integrations/lib/multiwoven/integrations.rb @@ -60,6 +60,7 @@ require_relative "integrations/destination/salesforce_consumer_goods_cloud/client" require_relative "integrations/destination/sftp/client" require_relative "integrations/destination/postgresql/client" +# require_relative "integrations/destination/zendesk/client" module Multiwoven module Integrations diff --git a/integrations/lib/multiwoven/integrations/config.rb b/integrations/lib/multiwoven/integrations/config.rb index 7b57fa18..d4ce77ef 100644 --- a/integrations/lib/multiwoven/integrations/config.rb +++ b/integrations/lib/multiwoven/integrations/config.rb @@ -10,4 +10,4 @@ def initialize(params = {}) end end end -end +end \ No newline at end of file diff --git a/integrations/lib/multiwoven/integrations/destination/zendesk/client.rb b/integrations/lib/multiwoven/integrations/destination/zendesk/client.rb new file mode 100644 index 00000000..e69de29b diff --git a/integrations/lib/multiwoven/integrations/destination/zendesk/config/catalog.json b/integrations/lib/multiwoven/integrations/destination/zendesk/config/catalog.json new file mode 100644 index 00000000..e69de29b diff --git a/integrations/lib/multiwoven/integrations/destination/zendesk/config/meta.json b/integrations/lib/multiwoven/integrations/destination/zendesk/config/meta.json new file mode 100644 index 00000000..e69de29b diff --git a/integrations/lib/multiwoven/integrations/destination/zendesk/config/spec.json b/integrations/lib/multiwoven/integrations/destination/zendesk/config/spec.json new file mode 100644 index 00000000..e69de29b diff --git a/integrations/lib/multiwoven/integrations/destination/zendesk/icon.svg b/integrations/lib/multiwoven/integrations/destination/zendesk/icon.svg new file mode 100644 index 00000000..e9092412 Binary files /dev/null and b/integrations/lib/multiwoven/integrations/destination/zendesk/icon.svg differ diff --git a/integrations/spec/multiwoven/integrations/destination/zendesk/client_spec.rb b/integrations/spec/multiwoven/integrations/destination/zendesk/client_spec.rb new file mode 100644 index 00000000..c32b14e7 --- /dev/null +++ b/integrations/spec/multiwoven/integrations/destination/zendesk/client_spec.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +RSpec.describe Multiwoven::Integrations::Destination::Airtable::Client do # rubocop:disable Metrics/BlockLength + include WebMock::API + + before(:each) do + WebMock.disable_net_connect!(allow_localhost: true) + end + + let(:client) { described_class.new } + + let(:connection_config) do + { + url: "https://yoursubdomain.zendesk.com/api/v2" + username: "test_user", + token: "test_token", + } + end + + let(:json_schema) do + # ... + end + + describe "#check_connection" do + # ... + end + + describe "#discover" do + # ... + end + + describe "#write" do + # ... + end + + describe "#create_payload" do + # ... + end +end \ No newline at end of file diff --git a/integrations/spec/multiwoven/integrations/destination/zendesk/schema_helper_spec.rb b/integrations/spec/multiwoven/integrations/destination/zendesk/schema_helper_spec.rb new file mode 100644 index 00000000..e69de29b