Files
grecia/spec/features/admin/organizations_spec.rb
2015-08-17 14:25:43 +02:00

115 lines
3.7 KiB
Ruby

require 'rails_helper'
feature 'Moderations::Organizations' do
background do
administrator = create(:user)
create(:administrator, user: administrator)
login_as(administrator)
end
scenario "pending organizations have links to verify and reject" do
organization = create(:organization)
visit admin_organizations_path
expect(page).to have_link('Verify')
expect(page).to have_link('Reject')
click_on 'Verify'
expect(current_path).to eq(admin_organizations_path)
expect(page).to have_content ('Verified')
expect(organization.reload.verified?).to eq(true)
end
scenario "verified organizations have link to reject" do
organization = create(:verified_organization)
visit admin_organizations_path
expect(page).to have_content ('Verified')
expect(page).to_not have_link('Verify')
expect(page).to have_link('Reject')
click_on 'Reject'
expect(current_path).to eq(admin_organizations_path)
expect(page).to have_content ('Rejected')
expect(organization.reload.rejected?).to eq(true)
end
scenario "rejected organizations have link to verify" do
organization = create(:rejected_organization)
visit admin_organizations_path
expect(page).to have_link('Verify')
expect(page).to_not have_link('Reject', exact: true)
click_on 'Verify'
expect(current_path).to eq(admin_organizations_path)
expect(page).to have_content ('Verified')
expect(organization.reload.verified?).to eq(true)
end
scenario "Current filter is properly highlighted" do
visit admin_organizations_path
expect(page).to_not have_link('All')
expect(page).to have_link('Pending')
expect(page).to have_link('Verified')
expect(page).to have_link('Rejected')
visit admin_organizations_path(filter: 'all')
expect(page).to_not have_link('All')
expect(page).to have_link('Pending')
expect(page).to have_link('Verified')
expect(page).to have_link('Rejected')
visit admin_organizations_path(filter: 'pending')
expect(page).to have_link('All')
expect(page).to_not have_link('Pending')
expect(page).to have_link('Verified')
expect(page).to have_link('Rejected')
visit admin_organizations_path(filter: 'verified')
expect(page).to have_link('All')
expect(page).to have_link('Pending')
expect(page).to_not have_link('Verified')
expect(page).to have_link('Rejected')
visit admin_organizations_path(filter: 'rejected')
expect(page).to have_link('All')
expect(page).to have_link('Pending')
expect(page).to have_link('Verified')
expect(page).to_not have_link('Rejected')
end
scenario "Filtering organizations" do
create(:organization, name: "Pending Organization")
create(:rejected_organization, name: "Rejected Organization")
create(:verified_organization, name: "Verified Organization")
visit admin_organizations_path(filter: 'all')
expect(page).to have_content('Pending Organization')
expect(page).to have_content('Rejected Organization')
expect(page).to have_content('Verified Organization')
visit admin_organizations_path(filter: 'pending')
expect(page).to have_content('Pending Organization')
expect(page).to_not have_content('Rejected Organization')
expect(page).to_not have_content('Verified Organization')
visit admin_organizations_path(filter: 'verified')
expect(page).to_not have_content('Pending Organization')
expect(page).to_not have_content('Rejected Organization')
expect(page).to have_content('Verified Organization')
visit admin_organizations_path(filter: 'rejected')
expect(page).to_not have_content('Pending Organization')
expect(page).to have_content('Rejected Organization')
expect(page).to_not have_content('Verified Organization')
end
end