mirror of
https://github.com/edcommonwealth/sqm-dashboards.git
synced 2026-03-07 21:48:16 -08:00
fix: failing tests
This commit is contained in:
parent
beb93aa8e8
commit
eb6fde5f88
7 changed files with 71 additions and 57 deletions
|
|
@ -36,15 +36,15 @@ class Overview::OverviewPresenter
|
||||||
end
|
end
|
||||||
|
|
||||||
def student_response_rate_presenter
|
def student_response_rate_presenter
|
||||||
StudentResponseRatePresenter.new(focus: :student, school: @school, academic_year: @academic_year)
|
StudentResponseRatePresenter.new(school: @school, academic_year: @academic_year)
|
||||||
end
|
end
|
||||||
|
|
||||||
def teacher_response_rate_presenter
|
def teacher_response_rate_presenter
|
||||||
TeacherResponseRatePresenter.new(focus: :teacher, school: @school, academic_year: @academic_year)
|
TeacherResponseRatePresenter.new(school: @school, academic_year: @academic_year)
|
||||||
end
|
end
|
||||||
|
|
||||||
def parent_response_rate_presenter
|
def parent_response_rate_presenter
|
||||||
ParentResponseRatePresenter.new(focus: :parent, school: @school, academic_year: @academic_year)
|
ParentResponseRatePresenter.new(school: @school, academic_year: @academic_year)
|
||||||
end
|
end
|
||||||
|
|
||||||
def presenter_for_measure(measure)
|
def presenter_for_measure(measure)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
class ParentResponseRatePresenter < ResponseRatePresenter
|
class ParentResponseRatePresenter < ResponseRatePresenter
|
||||||
def initialize(focus:, academic_year:, school:)
|
def initialize(academic_year:, school:)
|
||||||
super(focus:, academic_year:, school:)
|
super(academic_year:, school:)
|
||||||
@survey_items = SurveyItem.parent_survey_items if focus == :parent
|
@survey_items = SurveyItem.parent_survey_items if focus == :parent
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -17,4 +17,8 @@ class ParentResponseRatePresenter < ResponseRatePresenter
|
||||||
|
|
||||||
respondents.total_students
|
respondents.total_students
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def focus
|
||||||
|
"parent"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,7 @@
|
||||||
class ResponseRatePresenter
|
class ResponseRatePresenter
|
||||||
attr_reader :focus, :academic_year, :school, :survey_items
|
attr_reader :academic_year, :school, :survey_items
|
||||||
|
|
||||||
def initialize(focus:, academic_year:, school:)
|
def initialize(academic_year:, school:)
|
||||||
@focus = focus
|
|
||||||
@academic_year = academic_year
|
@academic_year = academic_year
|
||||||
@school = school
|
@school = school
|
||||||
end
|
end
|
||||||
|
|
@ -34,6 +33,10 @@ class ResponseRatePresenter
|
||||||
"Percentages based on #{actual_count} out of #{respondents_count.round} #{focus}s completing at least 25% of the survey."
|
"Percentages based on #{actual_count} out of #{respondents_count.round} #{focus}s completing at least 25% of the survey."
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def focus
|
||||||
|
raise "please implment method: focus"
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def cap_at_100(value)
|
def cap_at_100(value)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
class StudentResponseRatePresenter < ResponseRatePresenter
|
class StudentResponseRatePresenter < ResponseRatePresenter
|
||||||
def initialize(focus:, academic_year:, school:)
|
def initialize(academic_year:, school:)
|
||||||
super(focus:, academic_year:, school:)
|
super(academic_year:, school:)
|
||||||
@survey_items = Measure.all.flat_map do |measure|
|
@survey_items = Measure.all.flat_map do |measure|
|
||||||
measure.student_survey_items_with_sufficient_responses(school:, academic_year:)
|
measure.student_survey_items_with_sufficient_responses(school:, academic_year:)
|
||||||
end
|
end
|
||||||
|
|
@ -35,4 +35,8 @@ class StudentResponseRatePresenter < ResponseRatePresenter
|
||||||
|
|
||||||
enrollment
|
enrollment
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def focus
|
||||||
|
"student"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
class TeacherResponseRatePresenter < ResponseRatePresenter
|
class TeacherResponseRatePresenter < ResponseRatePresenter
|
||||||
def initialize(focus:, academic_year:, school:)
|
def initialize(academic_year:, school:)
|
||||||
super(focus:, academic_year:, school:)
|
super(academic_year:, school:)
|
||||||
@survey_items = SurveyItem.teacher_survey_items
|
@survey_items = SurveyItem.teacher_survey_items
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -13,4 +13,8 @@ class TeacherResponseRatePresenter < ResponseRatePresenter
|
||||||
|
|
||||||
respondents.total_teachers
|
respondents.total_teachers
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def focus
|
||||||
|
"teacher"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@ describe ResponseRatePresenter do
|
||||||
end
|
end
|
||||||
|
|
||||||
it "ignores all teacher items and only gets the modified date of the last student item" do
|
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)
|
expect(date).to eq(newest_student_survey_response.recorded_date)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -70,7 +70,7 @@ describe ResponseRatePresenter do
|
||||||
end
|
end
|
||||||
|
|
||||||
it "ignores all student responses and only gets the modified date of the last teacher item" do
|
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)
|
expect(date).to eq(newest_teacher_survey_response.recorded_date)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -83,7 +83,7 @@ describe ResponseRatePresenter do
|
||||||
end
|
end
|
||||||
context "when no survey responses are found for a school" do
|
context "when no survey responses are found for a school" do
|
||||||
it "returns a response rate of 0" 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)
|
expect(percentage).to eq(0)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -95,7 +95,7 @@ describe ResponseRatePresenter do
|
||||||
end
|
end
|
||||||
|
|
||||||
it "returns a response rate of 100" do
|
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)
|
expect(percentage).to eq(100)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -107,7 +107,7 @@ describe ResponseRatePresenter do
|
||||||
end
|
end
|
||||||
|
|
||||||
it "returns a response rate of 100" do
|
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)
|
expect(percentage).to eq(100)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -119,7 +119,7 @@ describe ResponseRatePresenter do
|
||||||
end
|
end
|
||||||
|
|
||||||
it "returns a response rate of 75" do
|
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)
|
expect(percentage).to eq(75)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -130,7 +130,7 @@ describe ResponseRatePresenter do
|
||||||
end
|
end
|
||||||
|
|
||||||
it "returns a response rate of 25" do
|
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)
|
expect(percentage).to eq(25)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -141,7 +141,7 @@ describe ResponseRatePresenter do
|
||||||
end
|
end
|
||||||
|
|
||||||
it "its rounded to the nearest integer" do
|
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)
|
expect(percentage).to eq(23)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -153,7 +153,7 @@ describe ResponseRatePresenter do
|
||||||
end
|
end
|
||||||
|
|
||||||
it "returns a response rate of 100" do
|
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)
|
expect(percentage).to eq(100)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -164,7 +164,7 @@ describe ResponseRatePresenter do
|
||||||
end
|
end
|
||||||
|
|
||||||
it "returns a response rate of 50" do
|
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)
|
expect(percentage).to eq(50)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -185,7 +185,7 @@ describe ResponseRatePresenter do
|
||||||
survey_item: student_survey_item, grade: 1)
|
survey_item: student_survey_item, grade: 1)
|
||||||
end
|
end
|
||||||
it "returns a response rate of 100" do
|
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)
|
expect(percentage).to eq(100)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -196,7 +196,7 @@ describe ResponseRatePresenter do
|
||||||
survey_item: student_survey_item, grade: 1)
|
survey_item: student_survey_item, grade: 1)
|
||||||
end
|
end
|
||||||
it "returns a response rate of 50" do
|
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)
|
expect(percentage).to eq(50)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -211,7 +211,7 @@ describe ResponseRatePresenter do
|
||||||
survey_item: student_survey_item, grade: 2)
|
survey_item: student_survey_item, grade: 2)
|
||||||
end
|
end
|
||||||
it "returns a response rate of 100" do
|
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)
|
expect(percentage).to eq(100)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -223,7 +223,7 @@ describe ResponseRatePresenter do
|
||||||
survey_item: student_survey_item, grade: 2)
|
survey_item: student_survey_item, grade: 2)
|
||||||
end
|
end
|
||||||
it "returns a response rate of 75" do
|
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)
|
expect(percentage).to eq(75)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -235,7 +235,7 @@ describe ResponseRatePresenter do
|
||||||
survey_item: student_survey_item, grade: 2)
|
survey_item: student_survey_item, grade: 2)
|
||||||
end
|
end
|
||||||
it "returns a response rate of 63 (rounded up from 62.5)" do
|
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)
|
expect(percentage).to eq(63)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -252,7 +252,7 @@ describe ResponseRatePresenter do
|
||||||
survey_item: student_survey_item, grade: 3)
|
survey_item: student_survey_item, grade: 3)
|
||||||
end
|
end
|
||||||
it "returns a response rate of 100" do
|
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)
|
expect(percentage).to eq(100)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -73,9 +73,9 @@ describe "overview/index" do
|
||||||
assign :page,
|
assign :page,
|
||||||
Overview::OverviewPresenter.new(params: { view: "student" }, school: @school,
|
Overview::OverviewPresenter.new(params: { view: "student" }, school: @school,
|
||||||
academic_year: @academic_year)
|
academic_year: @academic_year)
|
||||||
@student_response_rate_presenter = ResponseRatePresenter.new(focus: :student, school: @school,
|
@student_response_rate_presenter = StudentResponseRatePresenter.new(school: @school,
|
||||||
academic_year: @academic_year)
|
academic_year: @academic_year)
|
||||||
@teacher_response_rate_presenter = ResponseRatePresenter.new(focus: :teacher, school: @school,
|
@teacher_response_rate_presenter = TeacherResponseRatePresenter.new(school: @school,
|
||||||
academic_year: @academic_year)
|
academic_year: @academic_year)
|
||||||
|
|
||||||
Respondent.create!(school: @school, academic_year: @academic_year, total_students: 40, total_teachers: 40)
|
Respondent.create!(school: @school, academic_year: @academic_year, total_students: 40, total_teachers: 40)
|
||||||
|
|
@ -111,9 +111,9 @@ describe "overview/index" do
|
||||||
assign :page,
|
assign :page,
|
||||||
Overview::OverviewPresenter.new(params: { view: "student" }, school: @school,
|
Overview::OverviewPresenter.new(params: { view: "student" }, school: @school,
|
||||||
academic_year: @academic_year)
|
academic_year: @academic_year)
|
||||||
@student_response_rate_presenter = ResponseRatePresenter.new(focus: :student, school: @school,
|
@student_response_rate_presenter = StudentResponseRatePresenter.new(school: @school,
|
||||||
academic_year: @academic_year)
|
academic_year: @academic_year)
|
||||||
@teacher_response_rate_presenter = ResponseRatePresenter.new(focus: :teacher, school: @school,
|
@teacher_response_rate_presenter = TeacherResponseRatePresenter.new(school: @school,
|
||||||
academic_year: @academic_year)
|
academic_year: @academic_year)
|
||||||
|
|
||||||
Respondent.create!(school: @school, academic_year: @academic_year, total_students: 40, total_teachers: 40)
|
Respondent.create!(school: @school, academic_year: @academic_year, total_students: 40, total_teachers: 40)
|
||||||
|
|
@ -150,9 +150,9 @@ describe "overview/index" do
|
||||||
assign :page,
|
assign :page,
|
||||||
Overview::OverviewPresenter.new(params: { view: "student" }, school: @school,
|
Overview::OverviewPresenter.new(params: { view: "student" }, school: @school,
|
||||||
academic_year: @academic_year)
|
academic_year: @academic_year)
|
||||||
@student_response_rate_presenter = ResponseRatePresenter.new(focus: :student, school: @school,
|
@student_response_rate_presenter = StudentResponseRatePresenter.new(school: @school,
|
||||||
academic_year: @academic_year)
|
academic_year: @academic_year)
|
||||||
@teacher_response_rate_presenter = ResponseRatePresenter.new(focus: :teacher, school: @school,
|
@teacher_response_rate_presenter = TeacherResponseRatePresenter.new(school: @school,
|
||||||
academic_year: @academic_year)
|
academic_year: @academic_year)
|
||||||
|
|
||||||
Respondent.create!(school: @school, academic_year: @academic_year, total_students: 40, total_teachers: 40)
|
Respondent.create!(school: @school, academic_year: @academic_year, total_students: 40, total_teachers: 40)
|
||||||
|
|
@ -181,9 +181,9 @@ describe "overview/index" do
|
||||||
assign :page,
|
assign :page,
|
||||||
Overview::OverviewPresenter.new(params: { view: "student" }, school: @school,
|
Overview::OverviewPresenter.new(params: { view: "student" }, school: @school,
|
||||||
academic_year: @academic_year)
|
academic_year: @academic_year)
|
||||||
@student_response_rate_presenter = ResponseRatePresenter.new(focus: :student, school: @school,
|
@student_response_rate_presenter = StudentResponseRatePresenter.new(school: @school,
|
||||||
academic_year: @academic_year)
|
academic_year: @academic_year)
|
||||||
@teacher_response_rate_presenter = ResponseRatePresenter.new(focus: :teacher, school: @school,
|
@teacher_response_rate_presenter = TeacherResponseRatePresenter.new(school: @school,
|
||||||
academic_year: @academic_year)
|
academic_year: @academic_year)
|
||||||
|
|
||||||
Respondent.create!(school: @school, academic_year: @academic_year, total_students: 40, total_teachers: 40)
|
Respondent.create!(school: @school, academic_year: @academic_year, total_students: 40, total_teachers: 40)
|
||||||
|
|
@ -217,11 +217,11 @@ describe "overview/index" do
|
||||||
assign :page,
|
assign :page,
|
||||||
Overview::ParentOverviewPresenter.new(params: { view: "parent" }, school: @school,
|
Overview::ParentOverviewPresenter.new(params: { view: "parent" }, school: @school,
|
||||||
academic_year: @academic_year)
|
academic_year: @academic_year)
|
||||||
@student_response_rate_presenter = ResponseRatePresenter.new(focus: :student, school: @school,
|
@student_response_rate_presenter = StudentResponseRatePresenter.new(school: @school,
|
||||||
academic_year: @academic_year)
|
academic_year: @academic_year)
|
||||||
@teacher_response_rate_presenter = ResponseRatePresenter.new(focus: :teacher, school: @school,
|
@teacher_response_rate_presenter = TeacherResponseRatePresenter.new(school: @school,
|
||||||
academic_year: @academic_year)
|
academic_year: @academic_year)
|
||||||
@parent_response_rate_presenter = ResponseRatePresenter.new(focus: :parent, school: @school,
|
@parent_response_rate_presenter = ParentResponseRatePresenter.new(school: @school,
|
||||||
academic_year: @academic_year)
|
academic_year: @academic_year)
|
||||||
|
|
||||||
Respondent.create!(school: @school, academic_year: @academic_year, total_students: 40, total_teachers: 40)
|
Respondent.create!(school: @school, academic_year: @academic_year, total_students: 40, total_teachers: 40)
|
||||||
|
|
@ -249,13 +249,12 @@ describe "overview/index" do
|
||||||
assign :page,
|
assign :page,
|
||||||
Overview::ParentOverviewPresenter.new(params: { view: "parent" }, school: @school,
|
Overview::ParentOverviewPresenter.new(params: { view: "parent" }, school: @school,
|
||||||
academic_year: @academic_year)
|
academic_year: @academic_year)
|
||||||
@student_response_rate_presenter = ResponseRatePresenter.new(focus: :student, school: @school,
|
@student_response_rate_presenter = StudentResponseRatePresenter.new(school: @school,
|
||||||
academic_year: @academic_year)
|
academic_year: @academic_year)
|
||||||
@teacher_response_rate_presenter = ResponseRatePresenter.new(focus: :teacher, school: @school,
|
@teacher_response_rate_presenter = TeacherResponseRatePresenter.new(school: @school,
|
||||||
academic_year: @academic_year)
|
academic_year: @academic_year)
|
||||||
@parent_response_rate_presenter = ResponseRatePresenter.new(focus: :parent, school: @school,
|
@parent_response_rate_presenter = ParentResponseRatePresenter.new(school: @school,
|
||||||
academic_year: @academic_year)
|
academic_year: @academic_year)
|
||||||
|
|
||||||
Respondent.create!(school: @school, academic_year: @academic_year, total_students: 40, total_teachers: 40)
|
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,
|
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)
|
student_response_rate: 100, teacher_response_rate: 100, meets_student_threshold: true, meets_teacher_threshold: true)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue