-
Stats
+
<%= t "admin.stats.show.stats_title" %>
+
+
<%= t "admin.stats.show.summary_title" %>
+
+ - <%= t "admin.stats.show.summary.visits" %>: <%= @visits %>
+ - <%= t "admin.stats.show.summary.debates" %>: <%= @debates %>
+ - <%= t "admin.stats.show.summary.proposals" %>: <%= @proposals %>
+ - <%= t "admin.stats.show.summary.comments" %>: <%= @comments %>
+ - <%= t "admin.stats.show.summary.debate_votes" %>: <%= @debate_votes %>
+ - <%= t "admin.stats.show.summary.proposal_votes" %>: <%= @proposal_votes %>
+ - <%= t "admin.stats.show.summary.comment_votes" %>: <%= @comment_votes %>
+ - <%= t "admin.stats.show.summary.votes" %>: <%= @votes %>
+ - <%= t "admin.stats.show.summary.user_level_two" %>: <%= @user_level_two %>
+ - <%= t "admin.stats.show.summary.user_level_three" %>: <%= @user_level_three %>
+ - <%= t "admin.stats.show.summary.verified_users" %>: <%= @verified_users %>
+ - <%= t "admin.stats.show.summary.unverified_users" %>: <%= @unverified_users %>
+ - <%= t "admin.stats.show.summary.users" %>: <%= @users %>
+
-
Visits
+ <%= t "admin.stats.show.combined_title" %>
<%= visits_chart_tag id: "visits" %>
-
Combined
+ <%= t "admin.stats.show.visits_title" %>
<%= events_chart_tag @event_types.keys, id: 'combined' %>
diff --git a/config/locales/admin.en.yml b/config/locales/admin.en.yml
index c5d5616a4..0de19481f 100644
--- a/config/locales/admin.en.yml
+++ b/config/locales/admin.en.yml
@@ -147,3 +147,23 @@ en:
hide: Hidden
restore: Restored
block: Blocked
+ stats:
+ show:
+ summary_title: Summary
+ stats_title: Stats
+ visits_title: Visits
+ combined_title: Combined
+ summary:
+ visits: Visits
+ debates: Debates
+ proposals: Proposals
+ comments: Comments
+ debate_votes: Debate votes
+ proposal_votes: Proposal votes
+ comment_votes: Comment votes
+ votes: Total votes
+ user_level_three: Level three users
+ user_level_two: Level two users
+ unverified_users: Unverified users
+ verified_users: Verified users
+ users: Total users
\ No newline at end of file
diff --git a/config/locales/admin.es.yml b/config/locales/admin.es.yml
index 0e7903934..1f6e1ac7e 100644
--- a/config/locales/admin.es.yml
+++ b/config/locales/admin.es.yml
@@ -147,3 +147,23 @@ es:
hide: Ocultado
restore: Restaurado
block: Bloqueado
+ stats:
+ show:
+ summary_title: Resumen
+ stats_title: Estadísticas
+ visits_title: Visitas
+ combined_title: Combinado
+ summary:
+ visits: Visitas
+ debates: Debates
+ proposals: Propuestas
+ comments: Comentarios
+ debate_votes: Votes en debates
+ proposal_votes: Votos en propuestas
+ comment_votes: Votso en comentarios
+ votes: Votos
+ user_level_three: Usuarios de nivel tres
+ user_level_two: Usuarios de nivel dos
+ unverified_users: Usuarios sin verificar
+ verified_users: Usuarios verificados
+ users: Usuarios
diff --git a/spec/features/stats_spec.rb b/spec/features/stats_spec.rb
index d56b8f2c3..ee06b9c79 100644
--- a/spec/features/stats_spec.rb
+++ b/spec/features/stats_spec.rb
@@ -2,17 +2,73 @@ require 'rails_helper'
feature 'Stats' do
- scenario 'Level 2 user' do
+ background do
admin = create(:administrator)
- user = create(:user)
- login_as(user)
+ login_as(admin.user)
+ end
+ context 'Summary' do
+
+ scenario 'General' do
+ create(:debate)
+ 2.times { create(:proposal) }
+ 3.times { create(:comment, commentable: Debate.first) }
+ 4.times { create(:visit) }
+
+ visit admin_stats_path
+
+ expect(page).to have_content "Debates: 1"
+ expect(page).to have_content "Proposals: 2"
+ expect(page).to have_content "Comments: 3"
+ expect(page).to have_content "Visits: 4"
+ end
+
+ scenario 'Votes' do
+ debate = create(:debate)
+ create(:vote, votable: debate)
+
+ proposal = create(:proposal)
+ 2.times { create(:vote, votable: proposal) }
+
+ comment = create(:comment)
+ 3.times { create(:vote, votable: comment) }
+
+ visit admin_stats_path
+
+ expect(page).to have_content "Debate votes: 1"
+ expect(page).to have_content "Proposal votes: 2"
+ expect(page).to have_content "Comment votes: 3"
+ expect(page).to have_content "Total votes: 6"
+ end
+
+ scenario 'Users' do
+ Administrator.destroy_all
+ User.all.map(&:really_destroy!)
+
+ 1.times { create(:user, :level_three) }
+ 2.times { create(:user, :level_two) }
+ 3.times { create(:user) }
+
+ admin = create(:administrator)
+ login_as(admin.user)
+
+ visit admin_stats_path
+
+ expect(page).to have_content "Level three users: 1"
+ expect(page).to have_content "Level two users: 2"
+ expect(page).to have_content "Verified users: 3"
+ expect(page).to have_content "Unverified users: 4"
+ expect(page).to have_content "Total users: 7"
+ end
+
+ end
+
+ scenario 'Level 2 user' do
visit account_path
click_link 'Verify my account'
verify_residence
confirm_phone
- login_as(admin.user)
visit admin_stats_path
expect(page).to have_content "Level 2 User (1)"