diff --git a/test/integration/epp/domain/renew/base_test.rb b/test/integration/epp/domain/renew/base_test.rb index 541aab2a8..be53ca7a7 100644 --- a/test/integration/epp/domain/renew/base_test.rb +++ b/test/integration/epp/domain/renew/base_test.rb @@ -167,4 +167,36 @@ class EppDomainRenewBaseTest < EppTestCase end assert_epp_response :parameter_value_policy_error end + + def test_fails_if_domain_has_renewal_prohibited_statuses + travel_to Time.zone.parse('2010-07-05') + domain = domains(:shop) + domain.statuses << DomainStatus::SERVER_RENEW_PROHIBITED + domain.save + + original_valid_to = domain.valid_to + default_renewal_period = 1.year + + request_xml = <<-XML + + + + + + #{domain.name} + #{domain.expire_time.to_date} + 1 + + + + + XML + + post epp_renew_path, params: { frame: request_xml }, + headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } + domain.reload + + assert_epp_response :object_is_not_eligible_for_renewal + assert_equal original_valid_to, domain.valid_to + end end diff --git a/test/models/domain_test.rb b/test/models/domain_test.rb index b4a1d7b47..a943be6ef 100644 --- a/test/models/domain_test.rb +++ b/test/models/domain_test.rb @@ -431,6 +431,19 @@ class DomainTest < ActiveSupport::TestCase assert_equal created_at, domain.registered_at end + def test_not_renewable_if_renew_prohibited + assert @domain.renewable? + + @domain.statuses << DomainStatus::SERVER_RENEW_PROHIBITED + assert_not @domain.renewable? + + @domain.statuses.delete(DomainStatus::SERVER_RENEW_PROHIBITED) + assert @domain.renewable? + + @domain.statuses << DomainStatus::CLIENT_RENEW_PROHIBITED + assert_not @domain.renewable? + end + private def valid_domain