adds specs for user's page
This commit is contained in:
@@ -120,6 +120,7 @@ ignore_unused:
|
|||||||
- 'moderation.proposals.index.order*'
|
- 'moderation.proposals.index.order*'
|
||||||
- 'moderation.debates.index.filter*'
|
- 'moderation.debates.index.filter*'
|
||||||
- 'moderation.debates.index.order*'
|
- 'moderation.debates.index.order*'
|
||||||
|
- 'users.show.filters.*'
|
||||||
- 'debates.index.orders.*'
|
- 'debates.index.orders.*'
|
||||||
- 'debates.index.search_form.*'
|
- 'debates.index.search_form.*'
|
||||||
- 'proposals.index.orders.*'
|
- 'proposals.index.orders.*'
|
||||||
|
|||||||
68
spec/features/users_spec.rb
Normal file
68
spec/features/users_spec.rb
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
feature 'Users' do
|
||||||
|
|
||||||
|
feature 'Show (public page)' do
|
||||||
|
|
||||||
|
background do
|
||||||
|
@user = create(:user)
|
||||||
|
1.times {create(:debate, author: @user)}
|
||||||
|
2.times {create(:proposal, author: @user)}
|
||||||
|
3.times {create(:comment, user: @user)}
|
||||||
|
|
||||||
|
visit user_path(@user)
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario 'shows user public activity' do
|
||||||
|
expect(page).to have_content('1 Debate')
|
||||||
|
expect(page).to have_content('2 Proposals')
|
||||||
|
expect(page).to have_content('3 Comments')
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario 'default filter is proposals' do
|
||||||
|
@user.proposals.each do |proposal|
|
||||||
|
expect(page).to have_content(proposal.title)
|
||||||
|
end
|
||||||
|
|
||||||
|
@user.debates.each do |debate|
|
||||||
|
expect(page).to_not have_content(debate.title)
|
||||||
|
end
|
||||||
|
|
||||||
|
@user.comments.each do |comment|
|
||||||
|
expect(page).to_not have_content(comment.body)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario 'filters' do
|
||||||
|
click_link '1 Debate'
|
||||||
|
|
||||||
|
@user.debates.each do |debate|
|
||||||
|
expect(page).to have_content(debate.title)
|
||||||
|
end
|
||||||
|
|
||||||
|
@user.proposals.each do |proposal|
|
||||||
|
expect(page).to_not have_content(proposal.title)
|
||||||
|
end
|
||||||
|
|
||||||
|
@user.comments.each do |comment|
|
||||||
|
expect(page).to_not have_content(comment.body)
|
||||||
|
end
|
||||||
|
|
||||||
|
click_link '3 Comments'
|
||||||
|
|
||||||
|
@user.comments.each do |comment|
|
||||||
|
expect(page).to have_content(comment.body)
|
||||||
|
end
|
||||||
|
|
||||||
|
@user.proposals.each do |proposal|
|
||||||
|
expect(page).to_not have_content(proposal.title)
|
||||||
|
end
|
||||||
|
|
||||||
|
@user.debates.each do |debate|
|
||||||
|
expect(page).to_not have_content(debate.title)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
@@ -57,7 +57,7 @@ describe "Abilities::Common" do
|
|||||||
|
|
||||||
describe "other users" do
|
describe "other users" do
|
||||||
let(:other_user) { create(:user) }
|
let(:other_user) { create(:user) }
|
||||||
it { should_not be_able_to(:show, other_user) }
|
it { should be_able_to(:show, other_user) }
|
||||||
it { should_not be_able_to(:edit, other_user) }
|
it { should_not be_able_to(:edit, other_user) }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user