internetee-registry/test/jobs/dispute_status_update_job_test.rb
2021-04-26 14:03:41 +05:00

76 lines
2.3 KiB
Ruby

require "test_helper"
class DisputeStatusUpdateJobTest < ActiveJob::TestCase
setup do
travel_to Time.zone.parse('2010-10-05')
@logger = Rails.logger
end
def test_nothing_is_raised
assert_nothing_raised do
DisputeStatusUpdateJob.perform_now(logger: @logger)
end
end
def test_whois_data_added_when_dispute_activated
dispute = disputes(:future)
DisputeStatusUpdateJob.perform_now(logger: @logger)
whois_record = Whois::Record.find_by(name: dispute.domain_name)
assert whois_record.present?
assert_includes whois_record.json['status'], 'disputed'
end
def test_on_expiry_unregistered_domain_is_sent_to_auction
dispute = disputes(:active)
dispute.update!(starts_at: Time.zone.today - 3.years - 1.day)
DisputeStatusUpdateJob.perform_now(logger: @logger)
dispute.reload
assert dispute.closed
whois_record = Whois::Record.find_by(name: dispute.domain_name)
assert_equal ['AtAuction'], whois_record.json['status']
end
def test_registered_domain_whois_data_is_added
Dispute.create(domain_name: 'shop.test', starts_at: '2010-07-05')
travel_to Time.zone.parse('2010-07-05')
perform_enqueued_jobs do
DisputeStatusUpdateJob.perform_now(logger: @logger)
end
whois_record = Whois::Record.find_by(name: 'shop.test')
assert_includes whois_record.json['status'], 'disputed'
end
def test_registered_domain_whois_data_is_removed
travel_to Time.zone.parse('2010-07-05')
domain = domains(:shop)
domain.update(valid_to: Time.zone.parse('2015-07-05').to_s(:db),
outzone_at: Time.zone.parse('2015-07-06').to_s(:db),
delete_date: nil,
force_delete_date: nil)
# Dispute status is added automatically if starts_at is not in future
perform_enqueued_jobs do
Dispute.create(domain_name: 'shop.test', starts_at: Time.zone.today)
end
domain.reload
whois_record = Whois::Record.find_by(name: 'shop.test')
assert_includes whois_record.json['status'], 'disputed'
# Dispute status is removed night time day after it's ended
travel_to Time.zone.parse('2010-07-05') + 3.years + 1.day
perform_enqueued_jobs do
DisputeStatusUpdateJob.perform_now(logger: @logger)
end
whois_record.reload
assert_not whois_record.json['status'].include? 'disputed'
end
end