diff --git a/spec/factories/domain.rb b/spec/factories/domain.rb index 191a8055c..fc4d3a97b 100644 --- a/spec/factories/domain.rb +++ b/spec/factories/domain.rb @@ -11,11 +11,6 @@ FactoryBot.define do domain.tech_domain_contacts << FactoryBot.build(:tech_domain_contact) end - factory :domain_without_force_delete do - force_delete_time nil - statuses [] - end - factory :domain_discarded do statuses [DomainStatus::DELETE_CANDIDATE] end diff --git a/spec/features/admin/domains/force_delete_spec.rb b/spec/features/admin/domains/force_delete_spec.rb deleted file mode 100644 index 1d3b926a6..000000000 --- a/spec/features/admin/domains/force_delete_spec.rb +++ /dev/null @@ -1,33 +0,0 @@ -require 'rails_helper' - -RSpec.feature 'Force delete' do - context 'when domain has no force delete procedure' do - given!(:domain) { create(:domain_without_force_delete) } - - scenario 'schedule' do - sign_in_to_admin_area - - visit edit_admin_domain_url(domain) - click_link_or_button 'Force delete domain' - - expect(page).to have_text('Force delete procedure has been scheduled') - end - end - - context 'when domain has force delete procedure' do - given!(:domain) { create(:domain_without_force_delete) } - - background do - domain.schedule_force_delete - end - - scenario 'cancel' do - sign_in_to_admin_area - - visit edit_admin_domain_url(domain) - click_link_or_button 'Cancel force delete' - - expect(page).to have_text('Force delete procedure has been cancelled') - end - end -end diff --git a/test/integration/admin/domains/force_delete_test.rb b/test/integration/admin/domains/force_delete_test.rb new file mode 100644 index 000000000..1459ea0df --- /dev/null +++ b/test/integration/admin/domains/force_delete_test.rb @@ -0,0 +1,32 @@ +require 'test_helper' + +class AdminAreaDomainForceDeleteTest < ActionDispatch::IntegrationTest + def setup + login_as users(:admin) + @domain = domains(:shop) + end + + def test_schedules_domain_force_delete + refute @domain.force_delete_scheduled? + + visit edit_admin_domain_url(@domain) + click_link_or_button 'Force delete domain' + @domain.reload + + assert @domain.force_delete_scheduled? + assert_equal 1, ActionMailer::Base.deliveries.size + assert_text 'Force delete procedure has been scheduled' + end + + def test_cancels_scheduled_domain_force_delete + @domain.update_attribute(:statuses, [DomainStatus::FORCE_DELETE]) + assert @domain.force_delete_scheduled? + + visit edit_admin_domain_url(@domain) + click_link_or_button 'Cancel force delete' + @domain.reload + + refute @domain.force_delete_scheduled? + assert_text 'Force delete procedure has been cancelled' + end +end