about summary refs log tree commit diff
path: root/spec/controllers/admin/domain_blocks_controller_spec.rb
diff options
context:
space:
mode:
authorMatt Jankowski <mjankowski@thoughtbot.com>2017-04-29 18:25:38 -0400
committerEugen Rochko <eugen@zeonfederated.com>2017-04-30 00:25:38 +0200
commitf48cb3eb170314cba1938522c0da44af21d47e83 (patch)
treeff588793c76f7e9ef43da8082d509c6f03988709 /spec/controllers/admin/domain_blocks_controller_spec.rb
parent8325866c6101c7b63b616e7e0035080ef1af96a7 (diff)
More coverage yes more even more (#2627)
* Add coverage for admin/confirmations controller

* Coverage for statuses controller show action

* Add coverage for admin/domain_blocks controller

* Add coverage for settings/profiles#update
Diffstat (limited to 'spec/controllers/admin/domain_blocks_controller_spec.rb')
-rw-r--r--spec/controllers/admin/domain_blocks_controller_spec.rb40
1 files changed, 40 insertions, 0 deletions
diff --git a/spec/controllers/admin/domain_blocks_controller_spec.rb b/spec/controllers/admin/domain_blocks_controller_spec.rb
index 4578efb02..0ca41d7d4 100644
--- a/spec/controllers/admin/domain_blocks_controller_spec.rb
+++ b/spec/controllers/admin/domain_blocks_controller_spec.rb
@@ -10,7 +10,47 @@ RSpec.describe Admin::DomainBlocksController, type: :controller do
   describe 'GET #index' do
     it 'returns http success' do
       get :index
+
       expect(response).to have_http_status(:success)
     end
   end
+
+  describe 'GET #new' do
+    it 'returns http success' do
+      get :new
+
+      expect(response).to have_http_status(:success)
+    end
+  end
+
+  describe 'GET #show' do
+    it 'returns http success' do
+      domain_block = Fabricate(:domain_block)
+      get :show, params: { id: domain_block.id }
+
+      expect(response).to have_http_status(:success)
+    end
+  end
+
+  describe 'POST #create' do
+    it 'blocks the domain' do
+      allow(DomainBlockWorker).to receive(:perform_async).and_return(true)
+      post :create, params: { domain_block: { domain: 'example.com', severity: 'silence' } }
+
+      expect(DomainBlockWorker).to have_received(:perform_async)
+      expect(response).to redirect_to(admin_domain_blocks_path)
+    end
+  end
+
+  describe 'DELETE #destroy' do
+    it 'unblocks the domain' do
+      service = double(call: true)
+      allow(UnblockDomainService).to receive(:new).and_return(service)
+      domain_block = Fabricate(:domain_block)
+      delete :destroy, params: { id: domain_block.id, domain_block: { retroactive: '1' } }
+
+      expect(service).to have_received(:call).with(domain_block, true)
+      expect(response).to redirect_to(admin_domain_blocks_path)
+    end
+  end
 end