Browse page displays the admin data collection rate

pull/1/head
rebuilt 4 years ago
parent 67d51aff5e
commit ad14563460

@ -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)

@ -12,10 +12,14 @@
<div class="d-flex justify-content-start">
<div class="body-large text-center response-rate">
<p class="response-rate-percentage"><%= subcategory.admin_collection_rate.first %> / <%= subcategory.admin_collection_rate.last %></p>
<p>school admin data sources</p>
</div>
<div class="body-large mx-3 text-center response-rate">
<p class="response-rate-percentage"><%= subcategory.student_response_rate %>%</p>
<p>of students responded</p>
</div>
<div class="body-large mx-3 text-center response-rate">
<div class="body-large text-center response-rate">
<p class="response-rate-percentage"><%= subcategory.teacher_response_rate %>%</p>
<p>of teachers responded</p>
</div>

@ -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

Loading…
Cancel
Save