diff --git a/app/views/admin/poll/polls/_form.html.erb b/app/views/admin/poll/polls/_form.html.erb index e802d1217..1a45b8097 100644 --- a/app/views/admin/poll/polls/_form.html.erb +++ b/app/views/admin/poll/polls/_form.html.erb @@ -55,17 +55,6 @@ - <% if controller_name == "polls" && action_name == "edit" %> -
-
- <%= t('admin.polls.new.show_results_and_stats') %> - <%= f.check_box :results_enabled, checked: @poll.results_enabled?, label: t('admin.polls.new.show_results') %> - <%= f.check_box :stats_enabled, checked: @poll.stats_enabled?, label: t('admin.polls.new.show_stats') %> -

<%= t('admin.polls.new.results_and_stats_reminder') %>

-
-
- <% end %> -
<%= f.submit t("admin.polls.#{admin_submit_action(@poll)}.submit_button"), diff --git a/app/views/admin/poll/results/_show_results.html.erb b/app/views/admin/poll/results/_show_results.html.erb new file mode 100644 index 000000000..30222a2bf --- /dev/null +++ b/app/views/admin/poll/results/_show_results.html.erb @@ -0,0 +1,17 @@ +<%= form_for [:admin, @poll], action: "update" do |f| %> +
+
+ <%= t("admin.polls.new.show_results_and_stats") %> + <%= f.check_box :results_enabled, checked: @poll.results_enabled?, label: t("admin.polls.new.show_results") %> + <%= f.check_box :stats_enabled, checked: @poll.stats_enabled?, label: t("admin.polls.new.show_stats") %> +

<%= t("admin.polls.new.results_and_stats_reminder") %>

+
+
+ +
+
+ <%= f.submit t("admin.polls.#{admin_submit_action(@poll)}.submit_button"), + class: "button success expanded" %> +
+
+<% end %> diff --git a/app/views/admin/poll/results/index.html.erb b/app/views/admin/poll/results/index.html.erb index 7f21e5452..6f1fbbe74 100644 --- a/app/views/admin/poll/results/index.html.erb +++ b/app/views/admin/poll/results/index.html.erb @@ -1,4 +1,5 @@ <%= render "/admin/poll/polls/poll_header" %> +
<%= render "/admin/poll/polls/subnav" %> @@ -12,5 +13,6 @@ <%= render "recount", resource: @poll %> <%= render "result" %> <%= render "results_by_booth" %> + <%= render "show_results", resource: @poll %> <% end %>
diff --git a/spec/features/admin/poll/polls_spec.rb b/spec/features/admin/poll/polls_spec.rb index 482d461cc..e7e4d6bba 100644 --- a/spec/features/admin/poll/polls_spec.rb +++ b/spec/features/admin/poll/polls_spec.rb @@ -83,25 +83,67 @@ feature 'Admin polls' do expect(page).to have_css("img[alt='#{poll.image.title}']") - expect(page).to have_css("#poll_results_enabled") - expect(page).to have_css("#poll_stats_enabled") - fill_in "poll_name", with: "Next Poll" fill_in 'poll_ends_at', with: end_date.strftime("%d/%m/%Y") - check 'poll_results_enabled' - check 'poll_stats_enabled' click_button "Update poll" expect(page).to have_content "Poll updated successfully" expect(page).to have_content "Next Poll" expect(page).to have_content I18n.l(end_date.to_date) + end - click_link "Edit poll" + scenario 'Enable stats and results' do + poll = create(:poll) + + booth_assignment_1 = create(:poll_booth_assignment, poll: poll) + booth_assignment_2 = create(:poll_booth_assignment, poll: poll) + booth_assignment_3 = create(:poll_booth_assignment, poll: poll) + + question_1 = create(:poll_question, poll: poll) + create(:poll_question_answer, title: 'Oui', question: question_1) + create(:poll_question_answer, title: 'Non', question: question_1) + + question_2 = create(:poll_question, poll: poll) + create(:poll_question_answer, title: "Aujourd'hui", question: question_2) + create(:poll_question_answer, title: 'Demain', question: question_2) + + [booth_assignment_1, booth_assignment_2, booth_assignment_3].each do |ba| + create(:poll_partial_result, + booth_assignment: ba, + question: question_1, + answer: 'Oui', + amount: 11) + + create(:poll_partial_result, + booth_assignment: ba, + question: question_2, + answer: 'Demain', + amount: 5) + end + + create(:poll_recount, + booth_assignment: booth_assignment_1, + white_amount: 21, + null_amount: 44, + total_amount: 66) + + visit admin_poll_results_path(poll) + + expect(page).to have_field('poll_stats_enabled', checked: false) + expect(page).to have_field('poll_results_enabled', checked: false) + + check 'poll_stats_enabled' + check 'poll_results_enabled' + + click_button 'Update poll' + + expect(page).to have_content('Poll updated successfully') + + click_link 'Results' - expect(page).to have_field('poll_results_enabled', checked: true) expect(page).to have_field('poll_stats_enabled', checked: true) - + expect(page).to have_field('poll_results_enabled', checked: true) end scenario 'Edit from index' do