diff --git a/app/controllers/repp/v1/registrar/login_controller.rb b/app/controllers/repp/v1/registrar/login_controller.rb index 501c6129c..e487d480e 100644 --- a/app/controllers/repp/v1/registrar/login_controller.rb +++ b/app/controllers/repp/v1/registrar/login_controller.rb @@ -12,7 +12,7 @@ module Repp render_success(data: nil) and return unless @login # rubocop:enable Style/AndOr - data = @login.as_json() + data = @login.as_json render_success(data: data) end diff --git a/test/integration/repp/v1/registrar/login_test.rb b/test/integration/repp/v1/registrar/login_test.rb new file mode 100644 index 000000000..d210a7848 --- /dev/null +++ b/test/integration/repp/v1/registrar/login_test.rb @@ -0,0 +1,33 @@ +require 'test_helper' + +class ReppV1LoginTest < ActionDispatch::IntegrationTest + def setup + @user = users(:api_bestnames) + token = Base64.encode64("#{@user.username}:#{@user.plain_text_password}") + token = "Basic #{token}" + + @auth_headers = { 'Authorization' => token } + end + + def test_valid_login + get '/repp/v1/registrar/login', headers: @auth_headers + json = JSON.parse(response.body, symbolize_names: true) + + assert_response :ok + assert_equal json[:data][:username], @user.username + assert_equal json[:data][:identity_code], @user.identity_code + end + + def test_invalid_login + token = Base64.encode64("#{@user.username}:0066600") + token = "Basic #{token}" + + auth_headers = { 'Authorization' => token } + + get '/repp/v1/registrar/login', headers: auth_headers + json = JSON.parse(response.body, symbolize_names: true) + + assert_response :unauthorized + assert_equal json[:message], 'Invalid authorization information' + end +end