Sha256: e2ecbc8be6a3ba037b7f1ae16e1fd23fb25ce9149e9b239f051b3ac0a81dc853

Contents?: true

Size: 1.35 KB

Versions: 13

Compression:

Stored size: 1.35 KB

Contents

class Ey::Core::Client
  class Real
    def create_user(params={})
      request(
        :method => :post,
        :path   => "/users",
        :body   => params,
      )
    end
  end # Real

  class Mock
    def create_user(params={})
      if self.data[:users].map{ |_, user| user["email"] }.include?(params["user"]["email"])
        response(
          :status => 422,
          :body => {
            :errors => ["Email has already been taken"]
          }
        )
      end

      resource_id   = self.uuid
      token_id      = self.uuid
      token_auth_id = self.uuid

      resource = params["user"].dup

      resource.merge!({
        "id"          => resource_id,
        "accounts"    => url_for("/users/#{resource_id}/accounts"),
        "memberships" => url_for("/users/#{resource_id}/memberships"),
        "keypairs"    => url_for("/users/#{resource_id}/keypairs"),
        "tokens"      => url_for("/users/#{resource_id}/tokens"),
        "api_token"   => SecureRandom.hex(16),
      })

      self.data[:tokens][token_id] = {
        "id"           => token_id,
        "auth_id"      => token_auth_id,
        "on_behalf_of" => url_for("/users/#{resource_id}"),
      }

      self.data[:users][resource_id] = resource

      response(
        :body    => {"user" => resource},
        :status  => 201,
      )
    end
  end # Mock
end # Ey::Core::Client

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
ey-core-3.4.4 lib/ey-core/requests/create_user.rb
ey-core-3.4.2 lib/ey-core/requests/create_user.rb
ey-core-3.4.1 lib/ey-core/requests/create_user.rb
ey-core-3.4.0 lib/ey-core/requests/create_user.rb
ey-core-3.3.1 lib/ey-core/requests/create_user.rb
ey-core-3.3.0 lib/ey-core/requests/create_user.rb
ey-core-3.2.6 lib/ey-core/requests/create_user.rb
ey-core-3.2.5 lib/ey-core/requests/create_user.rb
ey-core-3.2.4 lib/ey-core/requests/create_user.rb
ey-core-3.2.3 lib/ey-core/requests/create_user.rb
ey-core-3.2.2 lib/ey-core/requests/create_user.rb
ey-core-3.2.1 lib/ey-core/requests/create_user.rb
ey-core-3.2.0 lib/ey-core/requests/create_user.rb