Extract component for organization actions

We remove duplication by doing so, and now we only need to add the call
do render Admin::TableActionsComponent once.
This commit is contained in:
Javi Martín
2020-06-14 22:01:13 +02:00
parent eb3f2bc2ca
commit 1537f25739
5 changed files with 79 additions and 22 deletions

View File

@@ -0,0 +1,46 @@
require "rails_helper"
describe Admin::Organizations::TableActionsComponent, type: :component do
let(:organization) { create(:organization) }
let(:component) { Admin::Organizations::TableActionsComponent.new(organization) }
it "renders links to verify and reject when it can" do
allow(component).to receive(:can_verify?).and_return(true)
allow(component).to receive(:can_reject?).and_return(true)
render_inline component
expect(page).to have_css "a", count: 2
expect(page).to have_css "a[href*='verify'][data-method='put']", text: "Verify"
expect(page).to have_css "a[href*='reject'][data-method='put']", text: "Reject"
end
it "renders link to verify when it cannot reject" do
allow(component).to receive(:can_verify?).and_return(true)
allow(component).to receive(:can_reject?).and_return(false)
render_inline component
expect(page).to have_css "a", count: 1
expect(page).to have_link "Verify"
end
it "renders link to reject when it cannot verify" do
allow(component).to receive(:can_verify?).and_return(false)
allow(component).to receive(:can_reject?).and_return(true)
render_inline component
expect(page).to have_css "a", count: 1
expect(page).to have_link "Reject"
end
it "does not render any actions when it cannot verify nor reject" do
allow(component).to receive(:can_verify?).and_return(false)
allow(component).to receive(:can_reject?).and_return(false)
render_inline component
expect(page).not_to have_css "a"
end
end