Merge pull request #1102 from internetee/fix-auction-integration

Fix WHOIS generation for domains at auction
This commit is contained in:
Timo Võhmar 2019-03-13 17:57:42 +02:00 committed by GitHub
commit d86ec026e3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 5 deletions

View file

@ -8,12 +8,16 @@ module Whois
def self.refresh(domain_name) def self.refresh(domain_name)
if domain_name.at_auction? if domain_name.at_auction?
# Remove original record since `Domain#update_whois_record` callback is disabled when
# domain is at auction
find_by(name: domain_name.to_s).try(:destroy!)
create!(name: domain_name, json: { name: domain_name.to_s, create!(name: domain_name, json: { name: domain_name.to_s,
status: 'AtAuction', status: ['AtAuction'],
disclaimer: disclaimer }) disclaimer: disclaimer })
elsif domain_name.awaiting_payment? || domain_name.pending_registration? elsif domain_name.awaiting_payment? || domain_name.pending_registration?
find_by(name: domain_name.to_s).update!(json: { name: domain_name.to_s, find_by(name: domain_name.to_s).update!(json: { name: domain_name.to_s,
status: 'PendingRegistration', status: ['PendingRegistration'],
disclaimer: disclaimer }) disclaimer: disclaimer })
else else
find_by(name: domain_name.to_s).destroy! find_by(name: domain_name.to_s).destroy!

View file

@ -29,7 +29,7 @@ class Whois::RecordTest < ActiveSupport::TestCase
whois_record = Whois::Record.last whois_record = Whois::Record.last
assert_equal 'some.test', whois_record.name assert_equal 'some.test', whois_record.name
assert_equal ({ 'name' => 'some.test', assert_equal ({ 'name' => 'some.test',
'status' => 'AtAuction', 'status' => ['AtAuction'],
'disclaimer' => 'disclaimer' }), whois_record.json 'disclaimer' => 'disclaimer' }), whois_record.json
end end
@ -45,7 +45,7 @@ class Whois::RecordTest < ActiveSupport::TestCase
whois_record = Whois::Record.find_by(name: 'some.test') whois_record = Whois::Record.find_by(name: 'some.test')
assert_equal 'some.test', whois_record.name assert_equal 'some.test', whois_record.name
assert_equal ({ 'name' => 'some.test', assert_equal ({ 'name' => 'some.test',
'status' => 'PendingRegistration', 'status' => ['PendingRegistration'],
'disclaimer' => 'disclaimer' }), whois_record.json 'disclaimer' => 'disclaimer' }), whois_record.json
end end
@ -61,7 +61,7 @@ class Whois::RecordTest < ActiveSupport::TestCase
whois_record = Whois::Record.find_by(name: 'some.test') whois_record = Whois::Record.find_by(name: 'some.test')
assert_equal 'some.test', whois_record.name assert_equal 'some.test', whois_record.name
assert_equal ({ 'name' => 'some.test', assert_equal ({ 'name' => 'some.test',
'status' => 'PendingRegistration', 'status' => ['PendingRegistration'],
'disclaimer' => 'disclaimer' }), whois_record.json 'disclaimer' => 'disclaimer' }), whois_record.json
end end
end end