require 'test_helper' class EppContactDeleteBaseTest < ActionDispatch::IntegrationTest def test_deletes_contact contact = deletable_contact # https://github.com/internetee/registry/issues/415 contact.update_columns(code: contact.code.upcase) request_xml = <<-XML #{contact.code} XML assert_difference 'Contact.count', -1 do post '/epp/command/delete', { frame: request_xml }, 'HTTP_COOKIE' => 'session=api_bestnames' end response_xml = Nokogiri::XML(response.body) assert_equal '1000', response_xml.at_css('result')[:code] assert_equal 1, response_xml.css('result').size end def test_undeletable_cannot_be_deleted contact = contacts(:john) assert_not contact.deletable? # https://github.com/internetee/registry/issues/415 contact.update_columns(code: contact.code.upcase) request_xml = <<-XML #{contact.code} XML assert_no_difference 'Contact.count' do post '/epp/command/delete', { frame: request_xml }, 'HTTP_COOKIE' => 'session=api_bestnames' end response_xml = Nokogiri::XML(response.body) assert_equal '2305', response_xml.at_css('result')[:code] end private def deletable_contact Domain.update_all(registrant_id: contacts(:william)) DomainContact.delete_all contacts(:john) end end