From 774ada6ebb30f9cf7d1875ca9295ce23d2182beb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karl=20Erik=20=C3=95unapuu?= Date: Wed, 21 Oct 2020 14:00:16 +0300 Subject: [PATCH] REPP: Domain transfer test --- app/controllers/repp/v1/domains_controller.rb | 3 +- .../repp/v1/domains/transfer_info_test.rb | 4 +- .../repp/v1/domains/transfer_test.rb | 49 +++++++++++++++++++ 3 files changed, 53 insertions(+), 3 deletions(-) create mode 100644 test/integration/repp/v1/domains/transfer_test.rb diff --git a/app/controllers/repp/v1/domains_controller.rb b/app/controllers/repp/v1/domains_controller.rb index 652786488..da2990ead 100644 --- a/app/controllers/repp/v1/domains_controller.rb +++ b/app/controllers/repp/v1/domains_controller.rb @@ -29,7 +29,7 @@ module Repp @errors ||= [] @successful = [] - params[:data][:domain_transfers].each do |transfer| + transfer_params[:domain_transfers].each do |transfer| initiate_transfer(transfer) end @@ -57,6 +57,7 @@ module Repp add_error("#{domain_name} transfer code is wrong") return end + domain end diff --git a/test/integration/repp/v1/domains/transfer_info_test.rb b/test/integration/repp/v1/domains/transfer_info_test.rb index 6c64e24b9..f57675b06 100644 --- a/test/integration/repp/v1/domains/transfer_info_test.rb +++ b/test/integration/repp/v1/domains/transfer_info_test.rb @@ -13,7 +13,7 @@ class ReppV1DomainsTransferInfoTest < ActionDispatch::IntegrationTest headers = @auth_headers headers['Auth-Code'] = @domain.transfer_code - get "/repp/v1/domains/#{@domain.name}/transfer_info", headers: @auth_headers + get "/repp/v1/domains/#{@domain.name}/transfer_info", headers: headers json = JSON.parse(response.body, symbolize_names: true) assert_response :ok @@ -29,7 +29,7 @@ class ReppV1DomainsTransferInfoTest < ActionDispatch::IntegrationTest headers = @auth_headers headers['Auth-Code'] = 'jhfgifhdg' - get "/repp/v1/domains/#{@domain.name}/transfer_info", headers: @auth_headers + get "/repp/v1/domains/#{@domain.name}/transfer_info", headers: headers json = JSON.parse(response.body, symbolize_names: true) assert_response :bad_request diff --git a/test/integration/repp/v1/domains/transfer_test.rb b/test/integration/repp/v1/domains/transfer_test.rb new file mode 100644 index 000000000..4c1280b47 --- /dev/null +++ b/test/integration/repp/v1/domains/transfer_test.rb @@ -0,0 +1,49 @@ +require 'test_helper' + +class ReppV1DomainsTransferTest < ActionDispatch::IntegrationTest + def setup + @user = users(:api_bestnames) + token = Base64.encode64("#{@user.username}:#{@user.plain_text_password}") + token = "Basic #{token}" + @domain = domains(:hospital) + + @auth_headers = { 'Authorization' => token } + end + + def test_transfers_domain + payload = { + "data": { + "domain_transfers": [ + { "domain_name": @domain.name, "transfer_code": @domain.transfer_code } + ] + } + } + post "/repp/v1/domains/transfer", headers: @auth_headers, params: payload + json = JSON.parse(response.body, symbolize_names: true) + + assert_response :ok + assert_equal 1000, json[:code] + assert_equal 'Command completed successfully', json[:message] + + assert_equal @domain.name, json[:data][0][:attributes][:domain_name] + assert_equal 'domain_transfer', json[:data][0][:type] + end + + def test_does_not_transfer_domain_with_invalid_auth_code + payload = { + "data": { + "domain_transfers": [ + { "domain_name": @domain.name, "transfer_code": "sdfgsdfg" } + ] + } + } + post "/repp/v1/domains/transfer", headers: @auth_headers, params: payload + json = JSON.parse(response.body, symbolize_names: true) + + assert_response :bad_request + assert_equal 2304, json[:code] + assert_equal 'Command failed', json[:message] + + assert_equal "#{@domain.name} transfer code is wrong", json[:data][0][:title] + end +end