Module: Empresaula::API::TestHelpers::User

Defined in:
lib/empresaula-api/test_helpers/user.rb

Instance Method Summary collapse

Instance Method Details

#add_mock(url, object, method = 'get') ⇒ Object



28
29
30
31
32
# File 'lib/empresaula-api/test_helpers/user.rb', line 28

def add_mock(url, object, method = 'get')
  @_mocks ||= {}
  @_mocks[url] = {method: method, object: object}
  perform_mocks!
end

#current_userObject



20
21
22
# File 'lib/empresaula-api/test_helpers/user.rb', line 20

def current_user
  @current_user
end

#mock_current_user(user) ⇒ Object



11
12
13
14
15
16
17
18
# File 'lib/empresaula-api/test_helpers/user.rb', line 11

def mock_current_user(user)
  cookies = Capybara.current_session.driver.browser.current_session.instance_variable_get(:@rack_mock_session).cookie_jar
  cookies[:empresaula_session] = 'qwertyuiop123456789'
  session = {session: {user: user}}
  add_mock '/api/sessions/qwertyuiop123456789.json', session
  mock_user user
  @current_user = Empresaula::API::Resource::User.find(user[:id])
end

#mock_user(user) ⇒ Object



24
25
26
# File 'lib/empresaula-api/test_helpers/user.rb', line 24

def mock_user(user)
  add_mock "/api/users/#{user[:id]}.json", user
end

#mocksObject



34
35
36
# File 'lib/empresaula-api/test_helpers/user.rb', line 34

def mocks
  @_mocks || {}
end

#perform_mocks!Object



38
39
40
41
42
43
44
45
46
47
# File 'lib/empresaula-api/test_helpers/user.rb', line 38

def perform_mocks!
  ActiveResource::HttpMock.reset!
  ActiveResource::HttpMock.respond_to do |mock|
    mocks.each do |k, v|
      mock.send(v[:method], k,
                {"X-SecretToken"=>Empresaula::API.config.secret_token},
                v[:object].to_json)
    end
  end
end