class CmQuiz::Review::GetUserInfo

Public Class Methods

new(project_api:) click to toggle source
# File lib/cm_quiz/review/get_user_info.rb, line 6
def initialize(project_api:)
  @project_api = project_api
  @verb = :get
  @path = '/me'
end

Public Instance Methods

run() click to toggle source
# File lib/cm_quiz/review/get_user_info.rb, line 12
def run
  name = "codementor-test-#{SecureRandom.hex(5)}"
  email = "#{name}@codementor.io"
  password = "pAssw0rd!"
  jwt, _refresh_token = Factory::User.new({
    project_api: @project_api,
    name: name,
    email: email,
    password: password
  }).create

  res = send_get_user_info_request(jwt: jwt)
  payload = JSON.parse(res.body)

  expect(payload['email']).to eq(email)
  expect(payload['name']).to eq(name)
end

Private Instance Methods

send_get_user_info_request(jwt:) click to toggle source
# File lib/cm_quiz/review/get_user_info.rb, line 32
def send_get_user_info_request(jwt:)
  @options = {
    headers: {
      'x-access-token' => jwt
    }
  }

  @project_api.request(@verb, @path, @options)
end