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



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

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

#current_userObject



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

def current_user
  @current_user
end

#mock_current_user(user) ⇒ Object



11
12
13
14
15
16
17
# 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'
  add_mock '/api/users/qwertyuiop123456789.json', user
  mock_user user
  @current_user = Empresaula::API::Resource::User.find(user[:id])
end

#mock_user(user) ⇒ Object



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

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

#mocksObject



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

def mocks
  @_mocks || {}
end

#perform_mocks!Object



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

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