Sha256: 2260f3226aa117d8fef53cd7d44cbc3619efbd297126ff43881f97d7d3d68c25

Contents?: true

Size: 983 Bytes

Versions: 2

Compression:

Stored size: 983 Bytes

Contents

class Zendesk2::Client
  class Real
    def create_ticket(params={})
      request(
        :body   => {"ticket" => params},
        :method => :post,
        :path   => "/tickets.json",
      )
    end
  end # Real

  class Mock
    def create_ticket(params={})
      identity = self.class.new_id

      record = {
        "id"         => identity,
        "url"        => url_for("/tickets/#{identity}.json"),
        "created_at" => Time.now.iso8601,
        "updated_at" => Time.now.iso8601,
      }.merge(params)

      record["requester_id"] ||= @current_user_id
      record["submitter_id"]= @current_user_id
      requester = self.data[:users][record["requester_id"]]
      # TODO: throw error if user doesn't exist?
      record["organization_id"]= requester["organization_id"]
      self.data[:tickets][identity]= record

      response(
        :method => :post,
        :body   => {"ticket" => record},
        :path   => "/tickets.json"
      )
    end
  end # Mock
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
zendesk2-0.0.5 lib/zendesk2/requests/create_ticket.rb
zendesk2-0.0.4 lib/zendesk2/requests/create_ticket.rb