75 lines
1.5 KiB
Ruby
75 lines
1.5 KiB
Ruby
require 'rails_helper'
|
|
|
|
feature 'Votes' do
|
|
|
|
background do
|
|
@manuela = create(:user)
|
|
@pablo = create(:user)
|
|
@debate = create(:debate)
|
|
|
|
login_as(@manuela)
|
|
visit debate_path(@debate)
|
|
end
|
|
|
|
scenario 'Show' do
|
|
vote = create(:vote, voter: @manuela, votable: @debate, vote_flag: true)
|
|
vote = create(:vote, voter: @pablo, votable: @debate, vote_flag: false)
|
|
|
|
visit debate_path(@debate)
|
|
|
|
expect(page).to have_content "2 votes"
|
|
|
|
within('#in_favor') do
|
|
expect(page).to have_content "50%"
|
|
end
|
|
|
|
within('#against') do
|
|
expect(page).to have_content "50%"
|
|
end
|
|
end
|
|
|
|
scenario 'Create', :js do
|
|
find('#in_favor a').click
|
|
|
|
within('#in_favor') do
|
|
expect(page).to have_content "100%"
|
|
end
|
|
|
|
within('#against') do
|
|
expect(page).to have_content "0%"
|
|
end
|
|
|
|
expect(page).to have_content "1 vote"
|
|
end
|
|
|
|
scenario 'Update', :js do
|
|
find('#in_favor a').click
|
|
find('#against a').click
|
|
|
|
within('#in_favor') do
|
|
expect(page).to have_content "0%"
|
|
end
|
|
|
|
within('#against') do
|
|
expect(page).to have_content "100%"
|
|
end
|
|
|
|
expect(page).to have_content "1 vote"
|
|
end
|
|
|
|
scenario 'Trying to vote multiple times', :js do
|
|
find('#in_favor a').click
|
|
find('#in_favor a').click
|
|
|
|
within('#in_favor') do
|
|
expect(page).to have_content "100%"
|
|
end
|
|
|
|
within('#against') do
|
|
expect(page).to have_content "0%"
|
|
end
|
|
|
|
expect(page).to have_content "1 vote"
|
|
end
|
|
|
|
end |