Sha256: ff10f73d9332e78bd3accb654fd91bb376ecaf3547a4a546ebece1fd752e3d6f

Contents?: true

Size: 1.77 KB

Versions: 16

Compression:

Stored size: 1.77 KB

Contents

class Zendesk2::Client < Cistern::Service
  class Mock

    attr_reader :username, :url, :token, :jwt_token
    attr_accessor :last_request

    def self.data
      @data ||= {
        :categories             => {},
        :forums                 => {},
        :groups                 => {},
        :help_center_articles   => {},
        :help_center_categories => {},
        :help_center_sections   => {},
        :identities             => {},
        :memberships            => {},
        :organizations          => {},
        :ticket_audits          => {},
        :ticket_comments        => {},
        :ticket_fields          => {},
        :ticket_metrics         => {},
        :tickets                => {},
        :topic_comments         => {},
        :topics                 => {},
        :user_fields            => {},
        :users                  => {},
      }
    end

    def self.serial_id
      @current_id ||= 0
      @current_id += 1
      @current_id
    end

    def serial_id
      self.class.serial_id
    end

    def initialize(options={})
      @url                 = options[:url]
      @path                = URI.parse(url).path
      @username, @password = options[:username], options[:password]
      @token               = options[:token]
      @jwt_token           = options[:jwt_token]

      @current_user ||= self.create_user("user" => {"email" => @username, "name" => "Mock Agent"}).body["user"]
      @current_user_identity ||= self.data[:identities].values.first
    end

    # Lazily re-seeds data after reset
    # @return [Hash] current user response
    def current_user
      self.data[:users][@current_user["id"]] ||= @current_user
      self.data[:identities][@current_user_identity["id"]] ||= @current_user_identity

      @current_user
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
zendesk2-1.6.1 lib/zendesk2/client/mock.rb
zendesk2-1.5.17 lib/zendesk2/client/mock.rb
zendesk2-1.5.16 lib/zendesk2/client/mock.rb
zendesk2-1.5.15 lib/zendesk2/client/mock.rb
zendesk2-1.5.14 lib/zendesk2/client/mock.rb
zendesk2-1.5.13 lib/zendesk2/client/mock.rb
zendesk2-1.5.12 lib/zendesk2/client/mock.rb
zendesk2-1.5.11 lib/zendesk2/client/mock.rb
zendesk2-1.5.10 lib/zendesk2/client/mock.rb
zendesk2-1.5.9 lib/zendesk2/client/mock.rb
zendesk2-1.5.8 lib/zendesk2/client/mock.rb
zendesk2-1.5.7 lib/zendesk2/client/mock.rb
zendesk2-1.5.6 lib/zendesk2/client/mock.rb
zendesk2-1.5.5 lib/zendesk2/client/mock.rb
zendesk2-1.5.4 lib/zendesk2/client/mock.rb
zendesk2-1.5.3 lib/zendesk2/client/mock.rb