adds all recounts to offering final recounts list

so poll officers can compare
This commit is contained in:
Juanjo Bazán
2017-01-30 20:16:02 +01:00
parent 0b013139ad
commit 70d00a9768
6 changed files with 57 additions and 6 deletions

View File

@@ -4,7 +4,7 @@ class Officing::FinalRecountsController < Officing::BaseController
def new
@officer_assignments = ::Poll::OfficerAssignment.
includes(:final_recounts, booth_assignment: :booth).
includes(:final_recounts, booth_assignment: [:booth]).
joins(:booth_assignment).
final.
where(id: current_user.poll_officer.officer_assignment_ids).

View File

@@ -16,4 +16,13 @@ module OfficingHelper
options_for_select(options)
end
def recount_to_compare_with_final_recount(final_recount)
recount = final_recount.booth_assignment.recounts.select {|r| r.date == final_recount.date}.first
recount.present? ? recount.count : "-"
end
def system_recount_to_compare_with_final_recount(final_recount)
final_recount.booth_assignment.voters.select {|v| v.created_at.to_date == final_recount.date}.size
end
end

View File

@@ -52,6 +52,8 @@
<th><%= t("officing.final_recounts.new.date") %></th>
<th><%= t("officing.final_recounts.new.booth") %></th>
<th><%= t("officing.final_recounts.new.count") %></th>
<th><%= "Recuento diario anterior" %></th>
<th><%= "Recuento del sistema" %></th>
</thead>
<tbody>
<% @final_recounts.each do |final_recount| %>
@@ -65,6 +67,12 @@
<td>
<strong><%= final_recount.count %></strong>
</td>
<td>
<strong><%= recount_to_compare_with_final_recount final_recount %></strong>
</td>
<td>
<strong><%= system_recount_to_compare_with_final_recount final_recount %></strong>
</td>
</tr>
<% end %>
</tbody>

View File

@@ -46,8 +46,8 @@ en:
date: "Date"
select_booth: "Select booth"
select_date: "Select date"
count: "Vote count"
count_placeholder: "Vote count"
count: "Final vote count"
count_placeholder: "Final vote count"
submit: Save
final_recount_list: "Your final recounts"
residence:

View File

@@ -46,8 +46,8 @@ es:
date: "Día"
select_booth: "Elige urna"
select_date: "Elige día"
count: "Número de votos"
count_placeholder: "Número de votos"
count: "Recuento final"
count_placeholder: "Número final de votos"
submit: "Guardar"
final_recount_list: "Tus recuentos finales"
residence:

View File

@@ -63,7 +63,7 @@ feature 'Officing Final Recount' do
end
end
scenario 'Edit recount' do
scenario 'Edit final recount' do
final_recount = create(:poll_final_recount,
officer_assignment: @officer_assignment,
booth_assignment: @officer_assignment.booth_assignment,
@@ -97,4 +97,38 @@ feature 'Officing Final Recount' do
end
expect(page).to_not have_content('100')
end
scenario 'Show daily, final and system recounts to compare' do
voting_officer_assignment = create(:poll_officer_assignment, date: 7.days.ago)
poll = voting_officer_assignment.booth_assignment.poll
poll.update(ends_at: 1.day.ago)
daily_recount = create(:poll_recount,
officer_assignment: voting_officer_assignment,
booth_assignment: voting_officer_assignment.booth_assignment,
date: voting_officer_assignment.date,
count: 500)
final_officer_assignment = create(:poll_officer_assignment, :final,
booth_assignment: voting_officer_assignment.booth_assignment,
date: poll.ends_at + 1.day,
officer: @poll_officer)
final_recount = create(:poll_final_recount,
officer_assignment: final_officer_assignment,
booth_assignment: final_officer_assignment.booth_assignment,
date: daily_recount.date,
count: 100)
33.times { create(:poll_voter, :valid_document,
poll: poll,
booth_assignment: final_officer_assignment.booth_assignment,
created_at: daily_recount.date) }
visit new_officing_poll_final_recount_path(poll)
within("#poll_final_recount_#{final_recount.id}") do
expect(page).to have_content(I18n.l(final_recount.date.to_date, format: :long))
expect(page).to have_content(final_officer_assignment.booth_assignment.booth.name)
expect(page).to have_content('500')
expect(page).to have_content('100')
expect(page).to have_content('33')
end
end
end