Refactor epp error due to Rails 6.1 changes

This commit is contained in:
Alex Sherman 2021-05-03 14:51:13 +05:00
parent 39bbe6e06d
commit c613de1a11
5 changed files with 12 additions and 11 deletions

View file

@ -67,7 +67,7 @@ module Repp
@epp_errors ||= []
obj&.construct_epp_errors
@epp_errors += obj.errors[:epp_errors] if obj
@epp_errors += obj.errors.where(:epp_errors).map(&:options) if obj
format_epp_errors if update
@epp_errors.uniq!

View file

@ -151,7 +151,7 @@ module Repp
@successful << { type: 'domain_transfer', domain_name: domain.name }
else
@errors << { type: 'domain_transfer', domain_name: domain.name,
errors: domain.errors[:epp_errors] }
errors: domain.errors.where(:epp_errors)[0].options }
end
end

View file

@ -13,8 +13,8 @@ module Actions
end
def call
return unless domain_exists?
return unless valid_transfer_code?
return false unless domain_exists?
return false unless valid_transfer_code?
run_validations

View file

@ -1,5 +1,8 @@
module EppErrors
extend ActiveSupport::Concern
included do
attr_accessor :epp_errors
end
def construct_epp_errors
epp_errors = []
@ -19,9 +22,7 @@ module EppErrors
epp_errors << collect_parent_errors(attr, errors)
end
errors.add(:epp_errors, epp_errors)
errors[:epp_errors].flatten!
errors.add(:epp_errors, epp_errors) unless epp_errors.empty?
end
def collect_parent_errors(attr, errors)

View file

@ -78,7 +78,7 @@ class ReppV1DomainsTransferTest < ActionDispatch::IntegrationTest
assert_equal 1000, json[:code]
assert_equal 'Command completed successfully', json[:message]
assert_equal 'Object status prohibits operation', json[:data][:failed][0][:errors][0][:msg]
assert_equal 'Object status prohibits operation', json[:data][:failed][0][:errors][:msg]
@domain.reload
@ -100,7 +100,7 @@ class ReppV1DomainsTransferTest < ActionDispatch::IntegrationTest
assert_equal 1000, json[:code]
assert_equal 'Command completed successfully', json[:message]
assert_equal "Invalid authorization information", json[:data][:failed][0][:errors][0][:msg]
assert_equal "Invalid authorization information", json[:data][:failed][0][:errors][:msg]
end
def test_does_not_transfer_domain_to_same_registrar
@ -121,7 +121,7 @@ class ReppV1DomainsTransferTest < ActionDispatch::IntegrationTest
assert_equal 1000, json[:code]
assert_equal 'Command completed successfully', json[:message]
assert_equal 'Domain already belongs to the querying registrar', json[:data][:failed][0][:errors][0][:msg]
assert_equal 'Domain already belongs to the querying registrar', json[:data][:failed][0][:errors][:msg]
@domain.reload
@ -146,7 +146,7 @@ class ReppV1DomainsTransferTest < ActionDispatch::IntegrationTest
assert_equal 1000, json[:code]
assert_equal 'Command completed successfully', json[:message]
assert_equal 'Object is not eligible for transfer', json[:data][:failed][0][:errors][0][:msg]
assert_equal 'Object is not eligible for transfer', json[:data][:failed][0][:errors][:msg]
@domain.reload