Module: Applicaster::Test::Accounts::WebMockHelper

Defined in:
lib/applicaster/test/accounts/web_mock_helper.rb

Instance Method Summary collapse

Instance Method Details

#accounts_mock_dataObject



38
39
40
# File 'lib/applicaster/test/accounts/web_mock_helper.rb', line 38

def accounts_mock_data
  @accounts_mock_data ||= Test::Accounts::MockData.new
end

#client_credentials_tokenObject



42
43
44
# File 'lib/applicaster/test/accounts/web_mock_helper.rb', line 42

def client_credentials_token
  "client-credentials-token"
end

#stub_accounts_index_response(options = {}) ⇒ Object



20
21
22
23
24
25
26
# File 'lib/applicaster/test/accounts/web_mock_helper.rb', line 20

def stub_accounts_index_response(options = {})
  accounts = options[:accounts] || accounts_mock_data.all_accounts_attributes

  stub_request(:get, accounts_base_url.join("/api/v1/accounts.json"))
    .with(query: { access_token: options[:token] })
    .to_return(successful_json_response(accounts))
end

#stub_accounts_user_show_response(options = {}) ⇒ Object



12
13
14
15
16
17
18
# File 'lib/applicaster/test/accounts/web_mock_helper.rb', line 12

def stub_accounts_user_show_response(options = {})
  user = options[:user] || accounts_mock_data.user_attributes

  stub_request(:get, accounts_base_url.join("/api/v1/users/#{user[:id]}.json"))
    .with(query: { access_token: options[:token] })
    .to_return(successful_json_response(user))
end

#stub_client_credentials_requestObject



28
29
30
31
32
33
34
35
36
# File 'lib/applicaster/test/accounts/web_mock_helper.rb', line 28

def stub_client_credentials_request
  url = accounts_base_url.join("/oauth/token")
  url.user = Applicaster::Accounts.config.client_id
  url.password = Applicaster::Accounts.config.client_secret

  stub_request(:post, url)
    .with(body: { "grant_type" => "client_credentials" })
    .to_return(successful_json_response(access_token: client_credentials_token))
end