diff --git a/app/views/ngo_area/adoption_interests/index.html.erb b/app/views/ngo_area/adoption_interests/index.html.erb
index b621c607..9b575137 100644
--- a/app/views/ngo_area/adoption_interests/index.html.erb
+++ b/app/views/ngo_area/adoption_interests/index.html.erb
@@ -14,7 +14,9 @@
- Email Usuário |
+ Nome |
+ Email |
+ Telefone |
Pet |
Data |
@@ -22,7 +24,9 @@
<% @adoption_interests.each do |adoption_interest| %>
+ <%=adoption_interest.user.name%> |
<%=adoption_interest.user.email%> |
+ <%=adoption_interest.user.phone%> |
<%=adoption_interest.pet.name%> |
<%=I18n.l(adoption_interest.created_at, format: :default)%> |
diff --git a/db/seeds.rb b/db/seeds.rb
index 8b86fc40..c877e50c 100644
--- a/db/seeds.rb
+++ b/db/seeds.rb
@@ -3,6 +3,7 @@
Pet.delete_all
Ngo.delete_all
User.delete_all
+AdoptionInterest.delete_all
puts 'Creating NGOs'
@@ -14,7 +15,7 @@
email: Faker::Internet.email,
site: Faker::Internet.url,
cnpj: CNPJ.generate,
- date_start: Faker::Date.backward(1000),
+ date_start: Faker::Date.backward(days: 1000),
active: true,
city: Faker::Address.city,
state: Faker::Address.state,
@@ -34,7 +35,7 @@
email: Faker::Internet.email,
site: Faker::Internet.url,
cnpj: CNPJ.generate,
- date_start: Faker::Date.backward(1000),
+ date_start: Faker::Date.backward(days: 1000),
active: true
)
@@ -68,7 +69,7 @@
pet = Pet.create!(
name: Faker::Name.first_name,
age: Random.rand(10),
- description: Faker::Lorem.paragraph_by_chars([100, 50, 200, 300, 500].sample),
+ description: Faker::Lorem.paragraph_by_chars(number: [100, 50, 200, 300, 500].sample),
sex: ['f', 'm'].sample,
active: true,
ngo_id: ngo_ids.sample
diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb
index 22bb70f0..794ea628 100644
--- a/spec/rails_helper.rb
+++ b/spec/rails_helper.rb
@@ -82,6 +82,6 @@ def login_user_capybara(trait)
config.before(:each) do |_|
# TO-DO: Configure specs to run on pt-BR as default locale.
I18n.default_locale = :en
- stub_const('ApplicationController::DEFAULT_LOCALE', 'en')
+ stub_const("#{ApplicationController}::DEFAULT_LOCALE", 'en')
end
end
diff --git a/spec/views/ngo_area/adoption_interests/index.html.erb_spec.rb b/spec/views/ngo_area/adoption_interests/index.html.erb_spec.rb
new file mode 100644
index 00000000..b1939d51
--- /dev/null
+++ b/spec/views/ngo_area/adoption_interests/index.html.erb_spec.rb
@@ -0,0 +1,54 @@
+require 'rails_helper'
+
+describe 'adoption_interests/index.html.erb', type: :feature do
+ describe 'permissions' do
+ let!(:ngo_1) { create(:ngo) }
+ let!(:ngo_2) { create(:ngo) }
+ let!(:pet_1) { create(:pet, ngo: ngo_1) }
+ let!(:pet_2) { create(:pet, ngo: ngo_2) }
+ let!(:public_user_1) { create(:user) }
+ let!(:public_user_2) { create(:user) }
+ let!(:adoption_interest_1) { create(:adoption_interest, user: public_user_1, pet: pet_1) }
+ let!(:adoption_interest_2) { create(:adoption_interest, user: public_user_2, pet: pet_2) }
+
+ context 'when user has ngo privileges' do
+ let!(:current_user) do
+ ngo_user = create(:user, :ngo_privileges)
+ ngo_user.ngos << ngo_1
+
+ ngo_user
+ end
+
+ before do
+ login_as(current_user, scope: :user)
+ end
+
+ it 'shows adoption requests from ngo 1 pets' do
+ visit ngo_area_adoption_interests_path
+
+ expect(page).to have_link(nil, href: edit_ngo_area_pet_path(pet_1))
+ end
+
+ it 'does not show adoption requests from ngo 2 pets' do
+ visit ngo_area_adoption_interests_path
+
+ expect(page).not_to have_link(nil, href: edit_ngo_area_pet_path(pet_2))
+ end
+ end
+
+ context 'when user has admin privileges' do
+ let!(:current_user) { create(:user, :admin_privileges) }
+
+ before do
+ login_as(current_user, scope: :user)
+ end
+
+ it 'shows show adoption from all ngos' do
+ visit ngo_area_adoption_interests_path
+
+ expect(page).to have_link(nil, href: edit_ngo_area_pet_path(pet_1))
+ expect(page).to have_link(nil, href: edit_ngo_area_pet_path(pet_2))
+ end
+ end
+ end
+end