summaryrefslogtreecommitdiff
path: root/test/support/api_integration_test.rb
blob: ccf706695ca412620d7a5488b0f6c0698827a864 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class ApiIntegrationTest < ActionDispatch::IntegrationTest

  DUMMY_TOKEN = Token.new
  RACK_ENV = {'HTTP_AUTHORIZATION' => %Q(Token token="#{DUMMY_TOKEN.to_s}")}

  def login(user = nil)
    @user ||= user ||= FactoryGirl.create(:user)
    # DUMMY_TOKEN will be frozen. So let's use a dup
    @token ||= DUMMY_TOKEN.dup
    # make sure @token is up to date if it already exists
    @token.reload if @token.persisted?
    @token.user_id = @user.id
    @token.last_seen_at = Time.now
    @token.save
  end

  def assert_login_required
    assert_equal 401, get_response.status
    assert_json_response error: I18n.t(:not_authorized_login)
  end

  teardown do
    if @user && @user.persisted?
      Identity.destroy_all_for @user
      @user.reload.destroy
    end
    if @token && @token.persisted?
      @token.reload.destroy
    end
  end
end