68 lines
1.6 KiB
Ruby
68 lines
1.6 KiB
Ruby
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 |