Class: MediawikiSelenium::UserFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/mediawiki_selenium/user_factory.rb

Overview

Factory class used to provision test user fixtures via the MW API.

Instance Method Summary collapse

Constructor Details

#initialize(api) ⇒ UserFactory

Create a user factory. This should typically be done anew for each test case.

Parameters:

  • api (MediawikiApi::Client)

    API client used to create users.



12
13
14
15
# File 'lib/mediawiki_selenium/user_factory.rb', line 12

def initialize(api)
  @api = api
  @users = {}
end

Instance Method Details

#create(id = nil) ⇒ Hash

Return a unique name for the given user ID. Each account will be created via the MW API if it has not already been created.

Parameters:

  • id (Symbol, nil) (defaults to: nil)

    Alternative ID or nil for the primary user.

Returns:

  • (Hash)


24
25
26
27
28
29
30
31
32
33
# File 'lib/mediawiki_selenium/user_factory.rb', line 24

def create(id = nil)
  return @users[id] if @users.include?(id)

  user = unique(id, 'User')
  pass = unique(id, 'Pass')

  (user, pass)

  @users[id] = { user: user, password: pass }
end