mirror of
https://github.com/edcommonwealth/sqm-dashboards.git
synced 2026-03-07 21:48:16 -08:00
Load survey responses for revere somerville and wareham for the 2021-22 academic year
This commit is contained in:
parent
5a9e8b3586
commit
7fcf580591
6 changed files with 7811 additions and 14 deletions
|
|
@ -1,15 +1,8 @@
|
|||
class ResponseRateLoader
|
||||
def self.reset
|
||||
schools = School.all
|
||||
academic_years = AcademicYear.all
|
||||
subcategories = Subcategory.all
|
||||
|
||||
def self.reset(schools: School.all, academic_years: AcademicYear.all, subcategories: Subcategory.all)
|
||||
milford = School.find_by_slug 'milford-high-school'
|
||||
|
||||
# ResponseRate.new(school:, academic_year:, subcategory:, student_response_rate: 50, teacher_response_rate: 50,
|
||||
# meets_student_threshold: true, meets_teacher_threshold: true).save
|
||||
|
||||
test_year = AcademicYear.find_by_range '2020-21'
|
||||
|
||||
subcategories.each do |subcategory|
|
||||
schools.each do |school|
|
||||
next if ENV['RAILS_ENV'] == 'test' && !(school == milford)
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -45,6 +45,7 @@ namespace :data do
|
|||
|
||||
puts 'Resetting response rates'
|
||||
ResponseRateLoader.reset
|
||||
Rails.cache.clear
|
||||
puts "=====================> Completed loading #{ResponseRate.count} survey responses"
|
||||
end
|
||||
|
||||
|
|
@ -52,6 +53,7 @@ namespace :data do
|
|||
task reset_response_rates: :environment do
|
||||
puts 'Resetting response rates'
|
||||
ResponseRateLoader.reset
|
||||
Rails.cache.clear
|
||||
puts "=====================> Completed loading #{ResponseRate.count} survey responses"
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -68,6 +68,25 @@ namespace :one_off do
|
|||
ResponseRateLoader.reset
|
||||
puts "=====================> Completed loading #{ResponseRate.count} survey responses"
|
||||
end
|
||||
desc 'load revere somerville warehame results for 2021-22'
|
||||
task load_revere: :environment do
|
||||
['2021-22_revere_somerville_wareham_student_survey_responses.csv',
|
||||
'2021-22_revere_somerville_wareham_teacher_survey_responses.csv'].each do |filepath|
|
||||
filepath = Rails.root.join('data', 'survey_responses', filepath)
|
||||
puts "=====================> Loading data from csv at path: #{filepath}"
|
||||
SurveyResponsesDataLoader.load_data filepath:
|
||||
end
|
||||
puts 'Resetting response rates'
|
||||
revere = District.find_by_name 'Revere'
|
||||
somerville = District.find_by_name 'Somerville'
|
||||
wareham = District.find_by_name 'Wareham'
|
||||
academic_year = AcademicYear.find_by_range '2021-22'
|
||||
ResponseRateLoader.reset(schools: revere.schools, academic_years: [academic_year])
|
||||
ResponseRateLoader.reset(schools: somerville.schools, academic_years: [academic_year])
|
||||
ResponseRateLoader.reset(schools: wareham.schools, academic_years: [academic_year])
|
||||
Rails.cache.clear
|
||||
puts "=====================> Completed loading #{ResponseRate.count} survey responses"
|
||||
end
|
||||
|
||||
desc 'list scales that have no survey responses'
|
||||
task list_scales_that_lack_survey_responses: :environment do
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ describe ResponseRateLoader do
|
|||
create_list(:survey_item_response, 5, survey_item: t_phya_q2, likert_score: 3, school:, academic_year:)
|
||||
create_list(:survey_item_response, 5, survey_item: t_phya_q3, likert_score: 3, school:, academic_year:)
|
||||
|
||||
ResponseRateLoader.reset
|
||||
ResponseRateLoader.reset(schools: [school], academic_years: [academic_year])
|
||||
end
|
||||
|
||||
it 'populates the database with response rates' do
|
||||
|
|
@ -76,7 +76,7 @@ describe ResponseRateLoader do
|
|||
context 'when running the loader a second time' do
|
||||
it 'is idempotent' do
|
||||
response_count = ResponseRate.count
|
||||
ResponseRateLoader.reset
|
||||
ResponseRateLoader.reset(schools: [school], academic_years: [academic_year])
|
||||
second_count = ResponseRate.count
|
||||
|
||||
expect(response_count).to eq second_count
|
||||
|
|
@ -90,7 +90,7 @@ describe ResponseRateLoader do
|
|||
create_list(:survey_item_response, 5, survey_item: s_poaf_q1, likert_score: 3, school:, academic_year:)
|
||||
create_list(:survey_item_response, 5, survey_item: t_phya_q2, likert_score: 3, school:, academic_year:)
|
||||
|
||||
ResponseRateLoader.reset
|
||||
ResponseRateLoader.reset(schools: [school], academic_years: [academic_year])
|
||||
end
|
||||
|
||||
it 'only takes into account the first question and ignores the other questions in the scale' do
|
||||
|
|
@ -106,7 +106,7 @@ describe ResponseRateLoader do
|
|||
create_list(:survey_item_response, 5, survey_item: s_poaf_q1, likert_score: 3, school:, academic_year:)
|
||||
create_list(:survey_item_response, 5, survey_item: t_phya_q2, likert_score: 3, school:, academic_year:)
|
||||
|
||||
ResponseRateLoader.reset
|
||||
ResponseRateLoader.reset(schools: [school], academic_years: [academic_year])
|
||||
end
|
||||
|
||||
it 'since no score can be calculated, it returns a default of 100' do
|
||||
|
|
@ -128,7 +128,7 @@ describe ResponseRateLoader do
|
|||
create_list(:survey_item_response, 1, survey_item: t_phya_q3, likert_score: 3, school:, academic_year:)
|
||||
short_form_survey
|
||||
|
||||
ResponseRateLoader.reset
|
||||
ResponseRateLoader.reset(schools: [school], academic_years: [academic_year])
|
||||
end
|
||||
|
||||
it 'only counts responses from survey items on the short form' do
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue