From ad14563460266626d292cc214b9a2946418c4cce Mon Sep 17 00:00:00 2001 From: rebuilt Date: Wed, 2 Feb 2022 13:03:28 +0100 Subject: [PATCH] Browse page displays the admin data collection rate --- app/presenters/subcategory_presenter.rb | 10 ++++++++-- app/views/categories/_subcategory_section.html.erb | 6 +++++- spec/presenters/subcategory_presenter_spec.rb | 10 +++++++--- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/app/presenters/subcategory_presenter.rb b/app/presenters/subcategory_presenter.rb index 71729e43..3bf9f3c8 100644 --- a/app/presenters/subcategory_presenter.rb +++ b/app/presenters/subcategory_presenter.rb @@ -3,8 +3,10 @@ class SubcategoryPresenter @subcategory = subcategory @academic_year = academic_year @school = school - @student_response_rate = StudentResponseRate.new(subcategory: @subcategory, school: @school, academic_year: @academic_year) - @teacher_response_rate = TeacherResponseRate.new(subcategory: @subcategory, school: @school, academic_year: @academic_year) + @student_response_rate = StudentResponseRate.new(subcategory: @subcategory, school: @school, + academic_year: @academic_year) + @teacher_response_rate = TeacherResponseRate.new(subcategory: @subcategory, school: @school, + academic_year: @academic_year) end def id @@ -40,6 +42,10 @@ class SubcategoryPresenter @teacher_response_rate.rate end + def admin_collection_rate + [0, @subcategory.measures.map { |measure| measure.admin_data_items.count }.sum] + end + def measure_presenters @subcategory.measures.includes([:admin_data_items]).sort_by(&:measure_id).map do |measure| MeasurePresenter.new(measure: measure, academic_year: @academic_year, school: @school) diff --git a/app/views/categories/_subcategory_section.html.erb b/app/views/categories/_subcategory_section.html.erb index 06708d08..20a16710 100644 --- a/app/views/categories/_subcategory_section.html.erb +++ b/app/views/categories/_subcategory_section.html.erb @@ -12,10 +12,14 @@
+

<%= subcategory.admin_collection_rate.first %> / <%= subcategory.admin_collection_rate.last %>

+

school admin data sources

+
+

<%= subcategory.student_response_rate %>%

of students responded

-
+

<%= subcategory.teacher_response_rate %>%

of teachers responded

diff --git a/spec/presenters/subcategory_presenter_spec.rb b/spec/presenters/subcategory_presenter_spec.rb index 0d29e23f..202a5f41 100644 --- a/spec/presenters/subcategory_presenter_spec.rb +++ b/spec/presenters/subcategory_presenter_spec.rb @@ -69,9 +69,13 @@ describe SubcategoryPresenter do expect(subcategory_presenter.student_response_rate).to eq 100.0 end - # it 'returns the teacher response rate' do - # expect(subcategory_presenter.teacher_response_rate).to eq 20.0 - # end + it 'returns the teacher response rate' do + expect(subcategory_presenter.teacher_response_rate).to eq 100 + end + + it 'returns the admin collection rate' do + expect(subcategory_presenter.admin_collection_rate).to eq [0,1] + end it 'creates a measure presenter for each measure in a subcategory' do expect(subcategory_presenter.measure_presenters.count).to eq subcategory.measures.count