test: added new test cases for forceDelete (no update, no renew, manualInZone) fails

This commit is contained in:
Matt Farnsworth 2015-10-21 17:48:14 +03:00
parent e702cbde95
commit 4de83da19b

View file

@ -163,27 +163,6 @@ describe Domain do
@domain.statuses.include?(DomainStatus::EXPIRED).should == true @domain.statuses.include?(DomainStatus::EXPIRED).should == true
end end
it 'should start redemption grace period' do
Domain.start_redemption_grace_period
@domain.reload
@domain.statuses.include?(DomainStatus::SERVER_HOLD).should == false
@domain.outzone_at = Time.zone.now
@domain.statuses << DomainStatus::SERVER_MANUAL_INZONE # this prohibits server_hold
@domain.save
Domain.start_redemption_grace_period
@domain.reload
@domain.statuses.include?(DomainStatus::SERVER_HOLD).should == false
@domain.statuses = []
@domain.save
Domain.start_redemption_grace_period
@domain.reload
@domain.statuses.include?(DomainStatus::SERVER_HOLD).should == true
end
it 'should start delete period' do it 'should start delete period' do
Domain.start_delete_period Domain.start_delete_period
@domain.reload @domain.reload
@ -291,6 +270,108 @@ describe Domain do
]) ])
end end
it 'should should be manual in zone and held after force delete' do
@domain.valid?
@domain.outzone_at = Time.zone.now + 1.day # before redemption grace period
# what should this be?
# @domain.server_holdable?.should be true
@domain.statuses.include?(DomainStatus::SERVER_HOLD).should be false
@domain.statuses.include?(DomainStatus::SERVER_MANUAL_INZONE).should be false
@domain.set_force_delete
@domain.server_holdable?.should be false
@domain.statuses.include?(DomainStatus::SERVER_MANUAL_INZONE).should be true
@domain.statuses.include?(DomainStatus::SERVER_HOLD).should be false
end
it 'should not allow update after force delete' do
@domain.valid?
@domain.pending_update_prohibited?.should be false
@domain.update_prohibited?.should be false
@domain.set_force_delete
@domain.pending_update_prohibited?.should be true
@domain.update_prohibited?.should be true
end
context 'with time period settings' do
before :all do
@save_days_to_renew = Setting.days_to_renew_domain_before_expire
@save_warning_period = Setting.expire_warning_period
@save_grace_period = Setting.redemption_grace_period
end
after :all do
Setting.days_to_renew_domain_before_expire = @save_days_to_renew
Setting.expire_warning_period = @save_warning_period
Setting.redemption_grace_period = @save_grace_period
end
before :example do
@domain.valid?
end
context 'with no renewal limit, renew anytime' do
before do
Setting.days_to_renew_domain_before_expire = 0
end
it 'should always renew with no policy' do
@domain.renewable?.should be true
end
it 'should not allow to renew after force delete' do
@domain.set_force_delete
@domain.renewable?.should be false
end
end
context 'with renew policy' do
before :all do
@policy = 30
Setting.days_to_renew_domain_before_expire = @policy
end
it 'should not allow renew before policy' do
@domain.valid_to = Time.zone.now.beginning_of_day + @policy.days * 2
@domain.renewable?.should be false
end
context 'ready to renew' do
before { @domain.valid_to = Time.zone.now + (@policy - 2).days }
it 'should allow renew' do
@domain.renewable?.should be true
end
it 'should not allow to renew after force delete' do
@domain.set_force_delete
@domain.renewable?.should be false
end
end
end
end
it 'should start redemption grace period' do
Domain.start_redemption_grace_period
@domain.reload
@domain.statuses.include?(DomainStatus::SERVER_HOLD).should == false
@domain.outzone_at = Time.zone.now
@domain.statuses << DomainStatus::SERVER_MANUAL_INZONE # this prohibits server_hold
@domain.save
Domain.start_redemption_grace_period
@domain.reload
@domain.statuses.include?(DomainStatus::SERVER_HOLD).should == false
@domain.statuses = []
@domain.save
Domain.start_redemption_grace_period
@domain.reload
@domain.statuses.include?(DomainStatus::SERVER_HOLD).should == true
end
it 'should set expired status and update outzone_at and delete_at' do it 'should set expired status and update outzone_at and delete_at' do
domain = Fabricate(:domain) domain = Fabricate(:domain)
domain.statuses.should == ['ok'] domain.statuses.should == ['ok']