Sha256: 253096d24ea84c7ad81107f2504c06601bcce151b4ac5ae6e63ae58aa6fe71fe

Contents?: true

Size: 1.2 KB

Versions: 9

Compression:

Stored size: 1.2 KB

Contents

class Zendesk2::Client
  class Real
    def update_organization(params={})
      id = params.delete("id")

      request(
        :method => :put,
        :path   => "/organizations/#{id}.json",
        :body   => {
          "organization" => params
        },
      )
    end
  end
  class Mock
    def update_organization(_params={})
      params = Cistern::Hash.stringify_keys(_params)
      id     = params.delete("id")

      organization = self.find!(:organizations, id)

      other_organizations = self.data[:organizations].dup
      other_organizations.delete(id.to_s)

      if other_organizations.values.find { |o| o["name"] == params["name"] }
        error!(:invalid, details: {"name" => [ { "description" => "Name: has already been taken" } ]})
      end

      if params["external_id"] && other_organizations.values.find { |o| o["external_id"] == params["external_id"] }
        error!(:invalid, details: {"name" => [ { "description" => "External has already been taken" } ]})
      end

      body = organization.merge!(params)

      response(
        :method => :put,
        :path   => "/organizations/#{id}.json",
        :body   => {
          "organization" => body
        },
      )
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
zendesk2-1.4.2 lib/zendesk2/client/requests/update_organization.rb
zendesk2-1.4.1 lib/zendesk2/client/requests/update_organization.rb
zendesk2-1.4.0 lib/zendesk2/client/requests/update_organization.rb
zendesk2-1.3.3 lib/zendesk2/client/requests/update_organization.rb
zendesk2-1.3.2 lib/zendesk2/client/requests/update_organization.rb
zendesk2-1.3.1 lib/zendesk2/client/requests/update_organization.rb
zendesk2-1.3.0 lib/zendesk2/client/requests/update_organization.rb
zendesk2-1.2.10 lib/zendesk2/client/requests/update_organization.rb
zendesk2-1.2.9 lib/zendesk2/client/requests/update_organization.rb