Sha256: 425f81c0c6f355600fb08c734b8c78e188d94b6b600a9c6fb3992e85d9220ee2

Contents?: true

Size: 1.66 KB

Versions: 10

Compression:

Stored size: 1.66 KB

Contents

require 'spec_helper'

describe "user_identities" do
  let(:client) { create_client }
  let(:user)   { client.users.create(email: mock_email, name: mock_uuid, verified: true) }

  include_examples "zendesk resource", {
    :create_params => lambda { { value: "ey+#{mock_uuid}@example.org", type: "email", user_id: user.id } },
    :update_params => lambda { { verified: true } },
    :fetch_params  => lambda { |uc| { "user_id" => uc.user_id, "id" => uc.id } },
    :collection    => lambda { client.user_identities(user_id: user.id) },
    :paged         => false,
    :search        => false,
  }

  describe "#create_user_identity" do
    let(:another_user) { client.users.create(email: mock_email, name: mock_uuid, verified: true) }

    it "should prevent duplicate identities across users" do
      expect {
        client.create_user_identity("type" => "email", "value" => user.email, "user_id" => another_user.id)
      }.to raise_exception(Zendesk2::Error, /is already being used by another user/)
    end

    it "should prevent duplicate identities on the same user" do
      expect {
        client.create_user_identity("type" => "email", "value" => user.email, "user_id" => user.id)
      }.to raise_exception(Zendesk2::Error, /is already being used by another user/)
    end

    it "should be allowed if the user is deleted" do
      email = user.email
      user.destroy

      expect {
        client.create_user_identity("type"    => "email",
                                    "value"   => email,
                                    "user_id" => another_user.id,
                                   )
      }.to change { another_user.identities.all.count }.by(1)
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
zendesk2-1.4.2 spec/user_identities_spec.rb
zendesk2-1.4.1 spec/user_identities_spec.rb
zendesk2-1.4.0 spec/user_identities_spec.rb
zendesk2-1.3.3 spec/user_identities_spec.rb
zendesk2-1.3.2 spec/user_identities_spec.rb
zendesk2-1.3.1 spec/user_identities_spec.rb
zendesk2-1.3.0 spec/user_identities_spec.rb
zendesk2-1.2.10 spec/user_identities_spec.rb
zendesk2-1.2.9 spec/user_identities_spec.rb
zendesk2-1.2.7 spec/user_identities_spec.rb