mirror of
https://github.com/internetee/registry.git
synced 2025-06-06 20:55:44 +02:00
61 lines
No EOL
1.2 KiB
Ruby
61 lines
No EOL
1.2 KiB
Ruby
require 'test_helper'
|
|
|
|
class ConvertDomainDeleteDateTaskTest < ActiveSupport::TestCase
|
|
setup do
|
|
@domain = domains(:shop)
|
|
end
|
|
|
|
def test_moves_domain_delete_date_one_day_ahead
|
|
@domain.update!(delete_date: '2010-07-05')
|
|
|
|
capture_io do
|
|
run_task
|
|
end
|
|
@domain.reload
|
|
|
|
assert_equal Date.parse('2010-07-06'), @domain.delete_date
|
|
end
|
|
|
|
def test_processes_invalid_domains
|
|
@domain = domains(:invalid)
|
|
@domain.update_columns(delete_date: '2010-07-05')
|
|
|
|
capture_io do
|
|
run_task
|
|
end
|
|
@domain.reload
|
|
|
|
assert_equal Date.parse('2010-07-06'), @domain.delete_date
|
|
end
|
|
|
|
def test_skips_non_expired_domains
|
|
@domain.update!(delete_date: nil)
|
|
|
|
assert_nothing_raised do
|
|
capture_io do
|
|
run_task
|
|
end
|
|
end
|
|
end
|
|
|
|
def test_output
|
|
eliminate_effect_of_all_domains_except(@domain)
|
|
@domain.update!(delete_date: '2010-07-05')
|
|
|
|
assert_output "Domains processed: 1\n" do
|
|
run_task
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def eliminate_effect_of_all_domains_except(domain)
|
|
Domain.connection.disable_referential_integrity do
|
|
Domain.where("id != #{domain.id}").delete_all
|
|
end
|
|
end
|
|
|
|
def run_task
|
|
Rake::Task['data_migrations:convert_domain_delete_date'].execute
|
|
end
|
|
end |