Fix failing tests

pull/1/head
rebuilt 3 years ago
parent 26f739090b
commit 93486eb132

@ -2,7 +2,7 @@
# SurveyItemResponse.where(student: StudentRace.where(race: Race.find_by_qualtrics_code(8)).limit(10).map(&:student)).count # SurveyItemResponse.where(student: StudentRace.where(race: Race.find_by_qualtrics_code(8)).limit(10).map(&:student)).count
# TODO figure out why earlier years don't have races attached # TODO: figure out why earlier years don't have races attached
require 'csv' require 'csv'
class StudentLoader class StudentLoader
@ -23,13 +23,13 @@ class StudentLoader
end end
def self.process_row(row:) def self.process_row(row:)
race_codes = row['RACE'] || row['What is your race/ethnicity?(Please select all that apply) - Selected Choice'] || '99' race_codes = row['RACE'] || row['race'] || row['What is your race/ethnicity?(Please select all that apply) - Selected Choice'] || '99'
race_codes = race_codes.split(',').map(&:to_i) || [] race_codes = race_codes.split(',').map(&:to_i) || []
races = process_races(codes: race_codes) races = process_races(codes: race_codes)
response_id = row['ResponseId'] || row['Responseid'] || row['ResponseID'] || response_id = row['ResponseId'] || row['Responseid'] || row['ResponseID'] ||
row['Response ID'] || row['Response id'] || row['Response Id'] row['Response ID'] || row['Response id'] || row['Response Id']
lasid = row['LASID'] || row['lasid'] lasid = row['LASID'] || row['lasid']
return nil if student_exists?(response_id:) # return nil if student_exists?(response_id:)
student = create_student(response_id:, lasid:, races:) student = create_student(response_id:, lasid:, races:)
@ -52,7 +52,8 @@ class StudentLoader
end end
def self.create_student(response_id:, lasid:, races:) def self.create_student(response_id:, lasid:, races:)
student = Student.new(response_id:) student = Student.find_or_create_by(response_id:)
student.races = []
races.each do |race| races.each do |race|
student.races << race student.races << race
end end

@ -1,7 +1,6 @@
<svg width="100%" height="<%= svg_height %>"> <svg width="100%" height="<%= svg_height %>">
<%= render partial: "graph_background", locals: {background: @background} %> <%= render partial: "graph_background", locals: {background: @background} %>
<%# <% columns = [StudentGroupedBarColumnPresenter, TeacherGroupedBarColumnPresenter, GroupedBarColumnPresenter] %1> %>
<% number_of_columns = @graph.columns.length %> <% number_of_columns = @graph.columns.length %>
<% @graph.columns.each_with_index do |column, index| %> <% @graph.columns.each_with_index do |column, index| %>
<% p = column.new(measure: measure, school: @school, academic_years: @selected_academic_years, position: index , number_of_columns:) %> <% p = column.new(measure: measure, school: @school, academic_years: @selected_academic_years, position: index , number_of_columns:) %>

Before

Width:  |  Height:  |  Size: 586 B

After

Width:  |  Height:  |  Size: 463 B

@ -1 +0,0 @@
,nelson,tripper,29.07.2022 14:28,file:///home/nelson/.config/libreoffice/4;

@ -1,4 +1,4 @@
Finished,RecordedDate,ResponseId,DistributionChannel,UserLanguage,District,school,dist & school concat,DESE ID,Birth.Month,Birth.Day,Birth.Year,grade,s-emsa-q1,s-emsa-q2,s-emsa-q3,s-tint-q1,s-tint-q2,s-tint-q3,s-tint-q4,s-tint-q5,s-acpr-q1,s-acpr-q2,s-acpr-q3,s-acpr-q4,s-cure-q1,s-cure-q2,s-cure-q3,s-cure-q4,s-sten-q1,s-sten-q2,s-sten-q3,s-sper-q1,s-sper-q2,s-sper-q3,s-sper-q4,s-civp-q1,s-civp-q2,s-civp-q3,s-civp-q4,s-grmi-q1,s-grmi-q2,s-grmi-q3,s-grmi-q4,s-appa-q1,s-appa-q2,s-appa-q3,s-peff-q1,s-peff-q2,s-peff-q3,s-peff-q4,s-peff-q5,s-peff-q6,s-sbel-q1,s-sbel-q2,s-sbel-q3,s-sbel-q4,s-sbel-q5,s-phys-q1,s-phys-q2,s-phys-q3,s-phys-q4,s-vale-q1,s-vale-q2,s-vale-q3,s-vale-q4,s-acst-q1,s-acst-q2,s-acst-q3,s-sust-q1,s-sust-q2,s-grit-q1,s-grit-q2,s-grit-q3,s-grit-q4,s-expa-q1,s-poaf-q1,s-poaf-q2,s-poaf-q3,s-poaf-q4,Q90,Q90_3_TEXT,Q91,Q91_7_TEXT,Q_Language,MathTeacher,ScienceTeacher,SocialTeacher,EnglishTeacher,,ALL NA? Finished,RecordedDate,ResponseId,DistributionChannel,UserLanguage,District,school,dist & school concat,DESE ID,Birth.Month,Birth.Day,Birth.Year,grade,s-emsa-q1,s-emsa-q2,s-emsa-q3,s-tint-q1,s-tint-q2,s-tint-q3,s-tint-q4,s-tint-q5,s-acpr-q1,s-acpr-q2,s-acpr-q3,s-acpr-q4,s-cure-q1,s-cure-q2,s-cure-q3,s-cure-q4,s-sten-q1,s-sten-q2,s-sten-q3,s-sper-q1,s-sper-q2,s-sper-q3,s-sper-q4,s-civp-q1,s-civp-q2,s-civp-q3,s-civp-q4,s-grmi-q1,s-grmi-q2,s-grmi-q3,s-grmi-q4,s-appa-q1,s-appa-q2,s-appa-q3,s-peff-q1,s-peff-q2,s-peff-q3,s-peff-q4,s-peff-q5,s-peff-q6,s-sbel-q1,s-sbel-q2,s-sbel-q3,s-sbel-q4,s-sbel-q5,s-phys-q1,s-phys-q2,s-phys-q3,s-phys-q4,s-vale-q1,s-vale-q2,s-vale-q3,s-vale-q4,s-acst-q1,s-acst-q2,s-acst-q3,s-sust-q1,s-sust-q2,s-grit-q1,s-grit-q2,s-grit-q3,s-grit-q4,s-expa-q1,s-poaf-q1,s-poaf-q2,s-poaf-q3,s-poaf-q4,Q90,Q90_3_TEXT,race,Q91_7_TEXT,Q_Language,MathTeacher,ScienceTeacher,SocialTeacher,EnglishTeacher,,ALL NA?
1,2020-01-29T10:47:0,R_3meiE9wU26ztkgo,anonymous,EN,1,9,19,160035,NA,NA,NA,4,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,,,,EN,,,,,, 1,2020-01-29T10:47:0,R_3meiE9wU26ztkgo,anonymous,EN,1,9,19,160035,NA,NA,NA,4,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,,,,EN,,,,,,
1,2020-01-30T8:13:0,R_39vFpeJ7FQoIz1T,anonymous,EN,1,2,12,160315,NA,NA,NA,6,3,NA,4,2,1,2,3,2,3,2,4,3,2,4,3,3,3,4,3,4,3,3,3,5,4,4,4,3,3,3,4,4,2,2,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,1,4,3,4,4,3,3,3,3,3,4,1,,7,american,EN,Math teacher,,,,, 1,2020-01-30T8:13:0,R_39vFpeJ7FQoIz1T,anonymous,EN,1,2,12,160315,NA,NA,NA,6,3,NA,4,2,1,2,3,2,3,2,4,3,2,4,3,3,3,4,3,4,3,3,3,5,4,4,4,3,3,3,4,4,2,2,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,1,4,3,4,4,3,3,3,3,3,4,1,,7,american,EN,Math teacher,,,,,
1,2020-02-05T7:49:0,R_1C7tpIHxHOmbNkI,anonymous,EN,1,1,11,160505,NA,NA,NA,12,1,NA,5,5,3,3,2,2,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,3,NA,NA,NA,NA,NA,NA,NA,NA,3,NA,NA,NA,3,NA,1,1,1,3,5,5,1,NA,2,NA,5,3,NA,4,3,NA,4,2,3,4,3,2,2,,4,,EN,,,Social Studies teacher,,, 1,2020-02-05T7:49:0,R_1C7tpIHxHOmbNkI,anonymous,EN,1,1,11,160505,NA,NA,NA,12,1,NA,5,5,3,3,2,2,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,3,NA,NA,NA,NA,NA,NA,NA,NA,3,NA,NA,NA,3,NA,1,1,1,3,5,5,1,NA,2,NA,5,3,NA,4,3,NA,4,2,3,4,3,2,2,,4,,EN,,,Social Studies teacher,,,

Can't render this file because it is too large.

@ -67,7 +67,7 @@ namespace :data do
end end
desc 'load students' desc 'load students'
task load_students: :environment do task load_students: :environment do
Dir.glob(Rails.root.join('data', 'survey_responses', '*.csv')).each do |file| Dir.glob(Rails.root.join('data', 'survey_responses', '*student*.csv')).each do |file|
puts "=====================> Loading student data from csv at path: #{file}" puts "=====================> Loading student data from csv at path: #{file}"
StudentLoader.load_data filepath: file StudentLoader.load_data filepath: file
end end

@ -1,5 +1,6 @@
require 'rails_helper' require 'rails_helper'
include AnalyzeHelper include AnalyzeHelper
include Analyze::Graph::Column
describe GroupedBarColumnPresenter do describe GroupedBarColumnPresenter do
let(:school) { create(:school) } let(:school) { create(:school) }
@ -62,18 +63,18 @@ describe GroupedBarColumnPresenter do
end end
let(:student_presenter) do let(:student_presenter) do
StudentGroupedBarColumnPresenter.new measure: measure_with_student_survey_items, school:, academic_years:, Analyze::Graph::Column::Student.new measure: measure_with_student_survey_items, school:, academic_years:,
position: 0 position: 0, number_of_columns: 3
end end
let(:teacher_presenter) do let(:teacher_presenter) do
TeacherGroupedBarColumnPresenter.new measure: measure_with_teacher_survey_items, school:, academic_years:, Analyze::Graph::Column::Teacher.new measure: measure_with_teacher_survey_items, school:, academic_years:,
position: 0 position: 0, number_of_columns: 3
end end
let(:all_data_presenter) do let(:all_data_presenter) do
GroupedBarColumnPresenter.new measure: measure_composed_of_student_and_teacher_items, school:, academic_years:, GroupedBarColumnPresenter.new measure: measure_composed_of_student_and_teacher_items, school:, academic_years:,
position: 0 position: 0, number_of_columns: 3
end end
before do before do

@ -1,7 +1,7 @@
# TODO: fix failing tests # TODO: fix failing tests
require 'rails_helper' require 'rails_helper'
include AnalyzeHelper include AnalyzeHelper
include Analyze::Graph
describe 'analyze/index' do describe 'analyze/index' do
subject { Nokogiri::HTML(rendered) } subject { Nokogiri::HTML(rendered) }
let(:category) { create(:category) } let(:category) { create(:category) }
@ -12,9 +12,11 @@ describe 'analyze/index' do
DemographicLoader.load_data(filepath: 'spec/fixtures/sample_demographics.csv') DemographicLoader.load_data(filepath: 'spec/fixtures/sample_demographics.csv')
Race.all Race.all
end end
let(:graph) { StudentsAndTeachers.new }
let(:graphs) do let(:graphs) do
[AnalysisGraph::StudentsAndTeachers.new, AnalysisGraph::StudentsByGroup.new] [StudentsAndTeachers.new, StudentsByGroup.new]
end end
let(:background) { BackgroundPresenter.new(num_of_columns: graph.columns.count) }
let(:selected_races) { races } let(:selected_races) { races }
let(:support_for_teaching) do let(:support_for_teaching) do
@ -56,7 +58,9 @@ describe 'analyze/index' do
before :each do before :each do
assign :races, races assign :races, races
assign :selected_races, selected_races assign :selected_races, selected_races
assign :graph, graph
assign :graphs, graphs assign :graphs, graphs
assign :background, background
assign :academic_year, academic_year assign :academic_year, academic_year
assign :available_academic_years, [academic_year] assign :available_academic_years, [academic_year]
assign :selected_academic_years, [academic_year] assign :selected_academic_years, [academic_year]

Loading…
Cancel
Save