diff --git a/test/integration/epp/domain/create/transfer_code_test.rb b/test/integration/epp/domain/create/transfer_code_test.rb new file mode 100644 index 000000000..f7d70a4ea --- /dev/null +++ b/test/integration/epp/domain/create/transfer_code_test.rb @@ -0,0 +1,63 @@ +require 'test_helper' + +class EppDomainCreateTransferCodeTest < ActionDispatch::IntegrationTest + def setup + travel_to Time.zone.parse('2010-07-05') + login_as users(:api_bestnames) + end + + def test_generates_default + request_xml = <<-XML + + + + + + brandnew.test + 1 + john-001 + + + + + #{'test' * 2000} + + + + + XML + + session_id = epp_sessions(:api_bestnames).session_id + post '/epp/command/create', { frame: request_xml }, { 'HTTP_COOKIE' => "session=#{session_id}" } + refute_empty Domain.find_by(name: 'brandnew.test').transfer_code + end + + def test_honors_custom + request_xml = <<-XML + + + + + + brandnew.test + 1 + john-001 + + 1058ad73 + + + + + + #{'test' * 2000} + + + + + XML + + session_id = epp_sessions(:api_bestnames).session_id + post '/epp/command/create', { frame: request_xml }, { 'HTTP_COOKIE' => "session=#{session_id}" } + assert_equal '1058ad73', Domain.find_by(name: 'brandnew.test').transfer_code + end +end diff --git a/test/integration/epp/domain/transfer/domain_transfer_test.rb b/test/integration/epp/domain/transfer/domain_transfer_test.rb index e50685aa8..1b1e604ba 100644 --- a/test/integration/epp/domain/transfer/domain_transfer_test.rb +++ b/test/integration/epp/domain/transfer/domain_transfer_test.rb @@ -5,7 +5,7 @@ class EppDomainTransferTest < ActionDispatch::IntegrationTest login_as users(:api_goodnames) end - def test_transfers_domain + def test_successfully_transfers_domain request_xml = <<-XML @@ -24,7 +24,30 @@ class EppDomainTransferTest < ActionDispatch::IntegrationTest session_id = epp_sessions(:api_goodnames).session_id post '/epp/command/transfer', { frame: request_xml }, { 'HTTP_COOKIE' => "session=#{session_id}" } - assert_response 200 assert_equal registrars(:goodnames), domains(:shop).registrar + assert Nokogiri::XML(response.body).at_css('result[code="1000"]') + assert_equal 1, Nokogiri::XML(response.body).css('result').size + end + + def test_non_existent_domain + request_xml = <<-XML + + + + + + non-existent.test + + any + + + + + + XML + + session_id = epp_sessions(:api_goodnames).session_id + post '/epp/command/transfer', { frame: request_xml }, { 'HTTP_COOKIE' => "session=#{session_id}" } + assert Nokogiri::XML(response.body).at_css('result[code="2303"]') end end diff --git a/test/integration/epp/domain/transfer/transfer_code_test.rb b/test/integration/epp/domain/transfer/transfer_code_test.rb new file mode 100644 index 000000000..0db6ba0d6 --- /dev/null +++ b/test/integration/epp/domain/transfer/transfer_code_test.rb @@ -0,0 +1,30 @@ +require 'test_helper' + +class EppDomainTransferTransferCodeTest < ActionDispatch::IntegrationTest + def setup + login_as users(:api_goodnames) + end + + def test_wrong + request_xml = <<-XML + + + + + + shop.test + + wrong + + + + + + XML + + session_id = epp_sessions(:api_goodnames).session_id + post '/epp/command/transfer', { frame: request_xml }, { 'HTTP_COOKIE' => "session=#{session_id}" } + refute_equal registrars(:goodnames), domains(:shop).registrar + assert Nokogiri::XML(response.body).at_css('result[code="2201"]') + end +end diff --git a/test/integration/epp/domain/update/domain_update_test.rb b/test/integration/epp/domain/update/transfer_code_test.rb similarity index 94% rename from test/integration/epp/domain/update/domain_update_test.rb rename to test/integration/epp/domain/update/transfer_code_test.rb index 7302f8cd6..6208c2899 100644 --- a/test/integration/epp/domain/update/domain_update_test.rb +++ b/test/integration/epp/domain/update/transfer_code_test.rb @@ -5,7 +5,7 @@ class EppDomainUpdateTest < ActionDispatch::IntegrationTest login_as users(:api_bestnames) end - def test_updates_transfer_code + def test_overwrites_existing request_xml = <<-XML @@ -26,7 +26,6 @@ class EppDomainUpdateTest < ActionDispatch::IntegrationTest session_id = epp_sessions(:api_bestnames).session_id post '/epp/command/update', { frame: request_xml }, { 'HTTP_COOKIE' => "session=#{session_id}" } - assert_response 200 assert_equal 'f0ff7d17b0', domains(:shop).transfer_code end end