mirror of
https://github.com/edcommonwealth/sqm-dashboards.git
synced 2026-03-09 07:28:41 -07:00
feat: Add parent button to overview page and alter 'School Quality Framework Indicators' section to show parent scales
This commit is contained in:
parent
e5beb46035
commit
e2e162d33b
13 changed files with 157 additions and 88 deletions
|
|
@ -1,4 +1,4 @@
|
|||
require 'rails_helper'
|
||||
require "rails_helper"
|
||||
include VarianceHelper
|
||||
|
||||
describe OverviewController, type: :controller do
|
||||
|
|
@ -6,12 +6,12 @@ describe OverviewController, type: :controller do
|
|||
let(:school) { create(:school) }
|
||||
let(:district) { create(:district) }
|
||||
let!(:categories) do
|
||||
[create(:category, name: 'Second', sort_index: 2), create(:category, name: 'First', sort_index: 1)]
|
||||
[create(:category, name: "Second", sort_index: 2), create(:category, name: "First", sort_index: 1)]
|
||||
end
|
||||
|
||||
it 'fetches categories sorted by sort_index' do
|
||||
it "fetches categories sorted by sort_index" do
|
||||
login_as district
|
||||
get :index, params: { school_id: school.to_param, district_id: district.to_param }
|
||||
get :index, params: { school_id: school.to_param, district_id: district.to_param }
|
||||
expect(assigns(:category_presenters).map(&:name)).to eql %w[First Second]
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ describe ResponseRatePresenter do
|
|||
end
|
||||
|
||||
it "ignores all teacher items and only gets the modified date of the last student item" do
|
||||
date = ResponseRatePresenter.new(focus: :student, academic_year:, school:).date
|
||||
date = StudentResponseRatePresenter.new(academic_year:, school:).date
|
||||
expect(date).to eq(newest_student_survey_response.recorded_date)
|
||||
end
|
||||
end
|
||||
|
|
@ -70,7 +70,7 @@ describe ResponseRatePresenter do
|
|||
end
|
||||
|
||||
it "ignores all student responses and only gets the modified date of the last teacher item" do
|
||||
date = ResponseRatePresenter.new(focus: :teacher, academic_year:, school:).date
|
||||
date = TeacherResponseRatePresenter.new(academic_year:, school:).date
|
||||
expect(date).to eq(newest_teacher_survey_response.recorded_date)
|
||||
end
|
||||
end
|
||||
|
|
@ -83,7 +83,7 @@ describe ResponseRatePresenter do
|
|||
end
|
||||
context "when no survey responses are found for a school" do
|
||||
it "returns a response rate of 0" do
|
||||
percentage = ResponseRatePresenter.new(focus: :teacher, academic_year:, school:).percentage
|
||||
percentage = TeacherResponseRatePresenter.new(academic_year:, school:).percentage
|
||||
expect(percentage).to eq(0)
|
||||
end
|
||||
end
|
||||
|
|
@ -95,7 +95,7 @@ describe ResponseRatePresenter do
|
|||
end
|
||||
|
||||
it "returns a response rate of 100" do
|
||||
percentage = ResponseRatePresenter.new(focus: :teacher, academic_year:, school:).percentage
|
||||
percentage = TeacherResponseRatePresenter.new(academic_year:, school:).percentage
|
||||
expect(percentage).to eq(100)
|
||||
end
|
||||
end
|
||||
|
|
@ -107,7 +107,7 @@ describe ResponseRatePresenter do
|
|||
end
|
||||
|
||||
it "returns a response rate of 100" do
|
||||
percentage = ResponseRatePresenter.new(focus: :teacher, academic_year:, school:).percentage
|
||||
percentage = TeacherResponseRatePresenter.new(academic_year:, school:).percentage
|
||||
expect(percentage).to eq(100)
|
||||
end
|
||||
end
|
||||
|
|
@ -119,7 +119,7 @@ describe ResponseRatePresenter do
|
|||
end
|
||||
|
||||
it "returns a response rate of 75" do
|
||||
percentage = ResponseRatePresenter.new(focus: :teacher, academic_year:, school:).percentage
|
||||
percentage = TeacherResponseRatePresenter.new(academic_year:, school:).percentage
|
||||
expect(percentage).to eq(75)
|
||||
end
|
||||
end
|
||||
|
|
@ -130,7 +130,7 @@ describe ResponseRatePresenter do
|
|||
end
|
||||
|
||||
it "returns a response rate of 25" do
|
||||
percentage = ResponseRatePresenter.new(focus: :teacher, academic_year:, school:).percentage
|
||||
percentage = TeacherResponseRatePresenter.new(academic_year:, school:).percentage
|
||||
expect(percentage).to eq(25)
|
||||
end
|
||||
end
|
||||
|
|
@ -141,7 +141,7 @@ describe ResponseRatePresenter do
|
|||
end
|
||||
|
||||
it "its rounded to the nearest integer" do
|
||||
percentage = ResponseRatePresenter.new(focus: :teacher, academic_year:, school:).percentage
|
||||
percentage = TeacherResponseRatePresenter.new(academic_year:, school:).percentage
|
||||
expect(percentage).to eq(23)
|
||||
end
|
||||
end
|
||||
|
|
@ -153,7 +153,7 @@ describe ResponseRatePresenter do
|
|||
end
|
||||
|
||||
it "returns a response rate of 100" do
|
||||
percentage = ResponseRatePresenter.new(focus: :student, academic_year:, school:).percentage
|
||||
percentage = StudentResponseRatePresenter.new(academic_year:, school:).percentage
|
||||
expect(percentage).to eq(100)
|
||||
end
|
||||
end
|
||||
|
|
@ -164,7 +164,7 @@ describe ResponseRatePresenter do
|
|||
end
|
||||
|
||||
it "returns a response rate of 50" do
|
||||
percentage = ResponseRatePresenter.new(focus: :student, academic_year:, school:).percentage
|
||||
percentage = StudentResponseRatePresenter.new(academic_year:, school:).percentage
|
||||
expect(percentage).to eq(50)
|
||||
end
|
||||
end
|
||||
|
|
@ -185,7 +185,7 @@ describe ResponseRatePresenter do
|
|||
survey_item: student_survey_item, grade: 1)
|
||||
end
|
||||
it "returns a response rate of 100" do
|
||||
percentage = ResponseRatePresenter.new(focus: :student, academic_year:, school:).percentage
|
||||
percentage = StudentResponseRatePresenter.new(academic_year:, school:).percentage
|
||||
expect(percentage).to eq(100)
|
||||
end
|
||||
end
|
||||
|
|
@ -196,7 +196,7 @@ describe ResponseRatePresenter do
|
|||
survey_item: student_survey_item, grade: 1)
|
||||
end
|
||||
it "returns a response rate of 50" do
|
||||
percentage = ResponseRatePresenter.new(focus: :student, academic_year:, school:).percentage
|
||||
percentage = StudentResponseRatePresenter.new(academic_year:, school:).percentage
|
||||
expect(percentage).to eq(50)
|
||||
end
|
||||
end
|
||||
|
|
@ -211,7 +211,7 @@ describe ResponseRatePresenter do
|
|||
survey_item: student_survey_item, grade: 2)
|
||||
end
|
||||
it "returns a response rate of 100" do
|
||||
percentage = ResponseRatePresenter.new(focus: :student, academic_year:, school:).percentage
|
||||
percentage = StudentResponseRatePresenter.new(academic_year:, school:).percentage
|
||||
expect(percentage).to eq(100)
|
||||
end
|
||||
end
|
||||
|
|
@ -223,7 +223,7 @@ describe ResponseRatePresenter do
|
|||
survey_item: student_survey_item, grade: 2)
|
||||
end
|
||||
it "returns a response rate of 75" do
|
||||
percentage = ResponseRatePresenter.new(focus: :student, academic_year:, school:).percentage
|
||||
percentage = StudentResponseRatePresenter.new(academic_year:, school:).percentage
|
||||
expect(percentage).to eq(75)
|
||||
end
|
||||
end
|
||||
|
|
@ -235,7 +235,7 @@ describe ResponseRatePresenter do
|
|||
survey_item: student_survey_item, grade: 2)
|
||||
end
|
||||
it "returns a response rate of 63 (rounded up from 62.5)" do
|
||||
percentage = ResponseRatePresenter.new(focus: :student, academic_year:, school:).percentage
|
||||
percentage = StudentResponseRatePresenter.new(academic_year:, school:).percentage
|
||||
expect(percentage).to eq(63)
|
||||
end
|
||||
end
|
||||
|
|
@ -252,7 +252,7 @@ describe ResponseRatePresenter do
|
|||
survey_item: student_survey_item, grade: 3)
|
||||
end
|
||||
it "returns a response rate of 100" do
|
||||
percentage = ResponseRatePresenter.new(focus: :student, academic_year:, school:).percentage
|
||||
percentage = StudentResponseRatePresenter.new(academic_year:, school:).percentage
|
||||
expect(percentage).to eq(100)
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -262,3 +262,4 @@ describe Overview::VarianceChartRowPresenter do
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -73,10 +73,10 @@ describe "overview/index" do
|
|||
assign :page,
|
||||
Overview::OverviewPresenter.new(params: { view: "student" }, school: @school,
|
||||
academic_year: @academic_year)
|
||||
@student_response_rate_presenter = ResponseRatePresenter.new(focus: :student, school: @school,
|
||||
academic_year: @academic_year)
|
||||
@teacher_response_rate_presenter = ResponseRatePresenter.new(focus: :teacher, school: @school,
|
||||
academic_year: @academic_year)
|
||||
@student_response_rate_presenter = StudentResponseRatePresenter.new(school: @school,
|
||||
academic_year: @academic_year)
|
||||
@teacher_response_rate_presenter = TeacherResponseRatePresenter.new(school: @school,
|
||||
academic_year: @academic_year)
|
||||
|
||||
Respondent.create!(school: @school, academic_year: @academic_year, total_students: 40, total_teachers: 40)
|
||||
ResponseRate.create!(subcategory: Subcategory.first, school: @school, academic_year: @academic_year,
|
||||
|
|
@ -111,10 +111,10 @@ describe "overview/index" do
|
|||
assign :page,
|
||||
Overview::OverviewPresenter.new(params: { view: "student" }, school: @school,
|
||||
academic_year: @academic_year)
|
||||
@student_response_rate_presenter = ResponseRatePresenter.new(focus: :student, school: @school,
|
||||
academic_year: @academic_year)
|
||||
@teacher_response_rate_presenter = ResponseRatePresenter.new(focus: :teacher, school: @school,
|
||||
academic_year: @academic_year)
|
||||
@student_response_rate_presenter = StudentResponseRatePresenter.new(school: @school,
|
||||
academic_year: @academic_year)
|
||||
@teacher_response_rate_presenter = TeacherResponseRatePresenter.new(school: @school,
|
||||
academic_year: @academic_year)
|
||||
|
||||
Respondent.create!(school: @school, academic_year: @academic_year, total_students: 40, total_teachers: 40)
|
||||
ResponseRate.create!(subcategory: Subcategory.first, school: @school, academic_year: @academic_year,
|
||||
|
|
@ -150,10 +150,10 @@ describe "overview/index" do
|
|||
assign :page,
|
||||
Overview::OverviewPresenter.new(params: { view: "student" }, school: @school,
|
||||
academic_year: @academic_year)
|
||||
@student_response_rate_presenter = ResponseRatePresenter.new(focus: :student, school: @school,
|
||||
academic_year: @academic_year)
|
||||
@teacher_response_rate_presenter = ResponseRatePresenter.new(focus: :teacher, school: @school,
|
||||
academic_year: @academic_year)
|
||||
@student_response_rate_presenter = StudentResponseRatePresenter.new(school: @school,
|
||||
academic_year: @academic_year)
|
||||
@teacher_response_rate_presenter = TeacherResponseRatePresenter.new(school: @school,
|
||||
academic_year: @academic_year)
|
||||
|
||||
Respondent.create!(school: @school, academic_year: @academic_year, total_students: 40, total_teachers: 40)
|
||||
ResponseRate.create!(subcategory: Subcategory.first, school: @school, academic_year: @academic_year,
|
||||
|
|
@ -181,10 +181,10 @@ describe "overview/index" do
|
|||
assign :page,
|
||||
Overview::OverviewPresenter.new(params: { view: "student" }, school: @school,
|
||||
academic_year: @academic_year)
|
||||
@student_response_rate_presenter = ResponseRatePresenter.new(focus: :student, school: @school,
|
||||
academic_year: @academic_year)
|
||||
@teacher_response_rate_presenter = ResponseRatePresenter.new(focus: :teacher, school: @school,
|
||||
academic_year: @academic_year)
|
||||
@student_response_rate_presenter = StudentResponseRatePresenter.new(school: @school,
|
||||
academic_year: @academic_year)
|
||||
@teacher_response_rate_presenter = TeacherResponseRatePresenter.new(school: @school,
|
||||
academic_year: @academic_year)
|
||||
|
||||
Respondent.create!(school: @school, academic_year: @academic_year, total_students: 40, total_teachers: 40)
|
||||
ResponseRate.create!(subcategory: Subcategory.first, school: @school, academic_year: @academic_year,
|
||||
|
|
@ -217,10 +217,12 @@ describe "overview/index" do
|
|||
assign :page,
|
||||
Overview::ParentOverviewPresenter.new(params: { view: "parent" }, school: @school,
|
||||
academic_year: @academic_year)
|
||||
@student_response_rate_presenter = ResponseRatePresenter.new(focus: :student, school: @school,
|
||||
academic_year: @academic_year)
|
||||
@teacher_response_rate_presenter = ResponseRatePresenter.new(focus: :teacher, school: @school,
|
||||
academic_year: @academic_year)
|
||||
@student_response_rate_presenter = StudentResponseRatePresenter.new(school: @school,
|
||||
academic_year: @academic_year)
|
||||
@teacher_response_rate_presenter = TeacherResponseRatePresenter.new(school: @school,
|
||||
academic_year: @academic_year)
|
||||
@parent_response_rate_presenter = ParentResponseRatePresenter.new(school: @school,
|
||||
academic_year: @academic_year)
|
||||
|
||||
Respondent.create!(school: @school, academic_year: @academic_year, total_students: 40, total_teachers: 40)
|
||||
ResponseRate.create!(subcategory: Subcategory.first, school: @school, academic_year: @academic_year,
|
||||
|
|
@ -229,7 +231,7 @@ describe "overview/index" do
|
|||
assign(:category_presenters, Category.all.map { |category| CategoryPresenter.new(category:) })
|
||||
render
|
||||
end
|
||||
it "shows the view with the parent button active" do
|
||||
it "shows the view with the parent button inactive" do
|
||||
expect(subject.css("input[id='parent_btn'][checked='checked']").count).to eq 0
|
||||
expect(subject.css("input[id='student_and_teacher_btn'][checked='checked']").count).to eq 0
|
||||
end
|
||||
|
|
@ -247,11 +249,12 @@ describe "overview/index" do
|
|||
assign :page,
|
||||
Overview::ParentOverviewPresenter.new(params: { view: "parent" }, school: @school,
|
||||
academic_year: @academic_year)
|
||||
@student_response_rate_presenter = ResponseRatePresenter.new(focus: :student, school: @school,
|
||||
academic_year: @academic_year)
|
||||
@teacher_response_rate_presenter = ResponseRatePresenter.new(focus: :teacher, school: @school,
|
||||
academic_year: @academic_year)
|
||||
|
||||
@student_response_rate_presenter = StudentResponseRatePresenter.new(school: @school,
|
||||
academic_year: @academic_year)
|
||||
@teacher_response_rate_presenter = TeacherResponseRatePresenter.new(school: @school,
|
||||
academic_year: @academic_year)
|
||||
@parent_response_rate_presenter = ParentResponseRatePresenter.new(school: @school,
|
||||
academic_year: @academic_year)
|
||||
Respondent.create!(school: @school, academic_year: @academic_year, total_students: 40, total_teachers: 40)
|
||||
ResponseRate.create!(subcategory: Subcategory.first, school: @school, academic_year: @academic_year,
|
||||
student_response_rate: 100, teacher_response_rate: 100, meets_student_threshold: true, meets_teacher_threshold: true)
|
||||
|
|
@ -271,3 +274,4 @@ describe "overview/index" do
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -70,3 +70,4 @@ describe "overview/_variance_chart.html.erb" do
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue