Rename some sample nonprofits to make certain tests easier

This commit is contained in:
Eric Schultz 2020-04-20 14:41:01 -05:00
parent 4d8e5207b9
commit b19cb9ddc8
4 changed files with 19 additions and 6 deletions

View file

@ -99,7 +99,7 @@ class Api::NonprofitsController < ApplicationController
end
def clean_params
params.permit(nonprofit: [:name, :zip_code, :state_code, :city], user: [:name, :email, :password])
params.permit(:name, :zip_code, :state_code, :city, :user)
end
end

View file

@ -85,7 +85,7 @@ describe CampaignsController, type: :controller do
name: 'simplename',
total_raised: 0,
goal_amount: 444,
url: "/nm/albuquerque/new_mexican_equality/campaigns/slug_#{campaign.id}"
url: "/nm/albuquerque/new-mexico-equality/campaigns/slug_#{campaign.id}"
}]}.with_indifferent_access)
end
end

View file

@ -9,7 +9,7 @@ FactoryBot.define do
state_code { 'NM' }
zip_code { 55_555 }
email { 'nmj@gmail.com' }
slug { 'new_mexican_equality' }
slug { 'new-mexico-equality' }
state_code_slug { 'nm'}
city_slug { 'albuquerque'}
register_np_only { true }
@ -23,7 +23,7 @@ FactoryBot.define do
zip_code { 54915 }
email { 'contact@endpovertyinthefoxvalleyinc.org' }
website {'https://endpovertyinthefoxvalleyinc.org'}
slug { 'end_poverty_in_the_fox_valley_inc' }
slug { 'end-poverty-in-the-fox-valley-inc' }
state_code_slug { 'wi'}
city_slug { 'appleton'}
register_np_only { true }

View file

@ -49,6 +49,10 @@ RSpec.describe Nonprofit, type: :model do
let(:nonprofit) { Nonprofit.new()}
let(:nonprofit_with_invalid_user) { Nonprofit.new(user_id: 3333)}
let(:nonprofit_with_user_who_already_admin) {nonprofit_admin_role; Nonprofit.new(user_id: user.id)}
let(:nonprofit_with_same_name) { Nonprofit.new({name: "New Mexico Equality", state_code: nm_justice.state_code, city: nm_justice.city, user_id: user.id})}
let(:nonprofit_with_same_name_but_different_state) { Nonprofit.new({name: "New Mexico Equality", state_code: 'mn', city: nm_justice.city, user_id: user.id })}
let(:user) { create(:user)}
let(:nonprofit_admin_role) do
role = user.roles.build(host: nonprofit, name: 'nonprofit_admin')
@ -57,7 +61,7 @@ RSpec.describe Nonprofit, type: :model do
end
let(:nm_justice) {create(:nm_justice)}
before(:each) { nonprofit.valid?; nonprofit_with_invalid_user.valid?; nonprofit_with_user_who_already_admin.valid?}
before(:each) { nonprofit.valid?; nonprofit_with_invalid_user.valid?; nonprofit_with_user_who_already_admin.valid?; nonprofit_with_same_name.valid?; nonprofit_with_same_name_but_different_state.valid?}
it 'has an error for no name' do
expect(nonprofit.errors['name'].first).to match /.*blank.*/
end
@ -79,9 +83,18 @@ RSpec.describe Nonprofit, type: :model do
end
it 'rejects a user who is already an admin' do
byebug
expect(nonprofit_with_user_who_already_admin.errors['user_id'].first).to match /.*admin.*/
end
it 'accepts and corrects a slug when it tries to save' do
expect(nonprofit_with_same_name.errors['slug']).to be_empty
expect(nonprofit_with_same_name.slug).to eq "#{nm_justice.slug}-00"
end
it 'does nothing to a slug when it tries to save' do
expect(nonprofit_with_same_name_but_different_state.errors['slug']).to be_empty
expect(nonprofit_with_same_name_but_different_state.slug).to eq "#{nm_justice.slug}"
end
end
end
end