115 lines
3.7 KiB
Ruby
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
|