class CmQuiz::Factory::User

Public Class Methods

new(project_api:, name: nil, email: nil, password: nil) click to toggle source
# File lib/cm_quiz/factory/user.rb, line 6
def initialize(project_api:, name: nil, email: nil, password: nil)
  @project_api = project_api
  @name = name || "codementor-test-#{SecureRandom.hex(5)}"
  @email = email || "#{@name}@codementor.io"
  @password = password || "pAssw0rd!"
end

Public Instance Methods

create() click to toggle source
# File lib/cm_quiz/factory/user.rb, line 13
def create
  options = {
    body: {
      email: @email,
      name: @name,
      password: @password
    }
  }

  res = @project_api.request(:post, '/users', options)
  payload = JSON.parse(res.body)
  [payload['jwt'], payload['refresh_token']]
rescue => e
  raise StandardError, "Create test user failed, reason: #{e.message}"
end