From 93486eb132551b8e1eca2c270efdc7c08d927e4f Mon Sep 17 00:00:00 2001 From: rebuilt Date: Wed, 3 Aug 2022 11:11:26 -0700 Subject: [PATCH] Fix failing tests --- app/services/student_loader.rb | 9 +++++---- app/views/analyze/_grouped_bar_chart.html.erb | 1 - ...k.2021-22_winchester_student_survey_responses.csv# | 1 - .../2019-20_student_survey_responses.csv | 2 +- lib/tasks/data.rake | 2 +- spec/presenters/grouped_bar_column_presenter_spec.rb | 11 ++++++----- spec/views/analyze/index.html.erb_spec.rb | 8 ++++++-- 7 files changed, 19 insertions(+), 15 deletions(-) delete mode 100644 data/survey_responses/.~lock.2021-22_winchester_student_survey_responses.csv# diff --git a/app/services/student_loader.rb b/app/services/student_loader.rb index 3a0dc481..ba29da93 100644 --- a/app/services/student_loader.rb +++ b/app/services/student_loader.rb @@ -2,7 +2,7 @@ # 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' class StudentLoader @@ -23,13 +23,13 @@ class StudentLoader end 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) || [] races = process_races(codes: race_codes) response_id = row['ResponseId'] || row['Responseid'] || row['ResponseID'] || row['Response ID'] || row['Response id'] || row['Response Id'] 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:) @@ -52,7 +52,8 @@ class StudentLoader end 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| student.races << race end diff --git a/app/views/analyze/_grouped_bar_chart.html.erb b/app/views/analyze/_grouped_bar_chart.html.erb index 35aa4780..dfb2872c 100644 --- a/app/views/analyze/_grouped_bar_chart.html.erb +++ b/app/views/analyze/_grouped_bar_chart.html.erb @@ -1,7 +1,6 @@ <%= render partial: "graph_background", locals: {background: @background} %> - <%# <% columns = [StudentGroupedBarColumnPresenter, TeacherGroupedBarColumnPresenter, GroupedBarColumnPresenter] %1> %> <% number_of_columns = @graph.columns.length %> <% @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:) %> diff --git a/data/survey_responses/.~lock.2021-22_winchester_student_survey_responses.csv# b/data/survey_responses/.~lock.2021-22_winchester_student_survey_responses.csv# deleted file mode 100644 index 9e60a462..00000000 --- a/data/survey_responses/.~lock.2021-22_winchester_student_survey_responses.csv# +++ /dev/null @@ -1 +0,0 @@ -,nelson,tripper,29.07.2022 14:28,file:///home/nelson/.config/libreoffice/4; \ No newline at end of file diff --git a/data/survey_responses/2019-20_student_survey_responses.csv b/data/survey_responses/2019-20_student_survey_responses.csv index 6031a904..81fb60e9 100644 --- a/data/survey_responses/2019-20_student_survey_responses.csv +++ b/data/survey_responses/2019-20_student_survey_responses.csv @@ -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-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,,, diff --git a/lib/tasks/data.rake b/lib/tasks/data.rake index 0e9168f6..fb4c429f 100644 --- a/lib/tasks/data.rake +++ b/lib/tasks/data.rake @@ -67,7 +67,7 @@ namespace :data do end desc 'load students' 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}" StudentLoader.load_data filepath: file end diff --git a/spec/presenters/grouped_bar_column_presenter_spec.rb b/spec/presenters/grouped_bar_column_presenter_spec.rb index 6e9cd8d5..4f33fe62 100644 --- a/spec/presenters/grouped_bar_column_presenter_spec.rb +++ b/spec/presenters/grouped_bar_column_presenter_spec.rb @@ -1,5 +1,6 @@ require 'rails_helper' include AnalyzeHelper +include Analyze::Graph::Column describe GroupedBarColumnPresenter do let(:school) { create(:school) } @@ -62,18 +63,18 @@ describe GroupedBarColumnPresenter do end let(:student_presenter) do - StudentGroupedBarColumnPresenter.new measure: measure_with_student_survey_items, school:, academic_years:, - position: 0 + Analyze::Graph::Column::Student.new measure: measure_with_student_survey_items, school:, academic_years:, + position: 0, number_of_columns: 3 end let(:teacher_presenter) do - TeacherGroupedBarColumnPresenter.new measure: measure_with_teacher_survey_items, school:, academic_years:, - position: 0 + Analyze::Graph::Column::Teacher.new measure: measure_with_teacher_survey_items, school:, academic_years:, + position: 0, number_of_columns: 3 end let(:all_data_presenter) do GroupedBarColumnPresenter.new measure: measure_composed_of_student_and_teacher_items, school:, academic_years:, - position: 0 + position: 0, number_of_columns: 3 end before do diff --git a/spec/views/analyze/index.html.erb_spec.rb b/spec/views/analyze/index.html.erb_spec.rb index d08c85f3..f26b71c4 100644 --- a/spec/views/analyze/index.html.erb_spec.rb +++ b/spec/views/analyze/index.html.erb_spec.rb @@ -1,7 +1,7 @@ # TODO: fix failing tests require 'rails_helper' include AnalyzeHelper - +include Analyze::Graph describe 'analyze/index' do subject { Nokogiri::HTML(rendered) } let(:category) { create(:category) } @@ -12,9 +12,11 @@ describe 'analyze/index' do DemographicLoader.load_data(filepath: 'spec/fixtures/sample_demographics.csv') Race.all end + let(:graph) { StudentsAndTeachers.new } let(:graphs) do - [AnalysisGraph::StudentsAndTeachers.new, AnalysisGraph::StudentsByGroup.new] + [StudentsAndTeachers.new, StudentsByGroup.new] end + let(:background) { BackgroundPresenter.new(num_of_columns: graph.columns.count) } let(:selected_races) { races } let(:support_for_teaching) do @@ -56,7 +58,9 @@ describe 'analyze/index' do before :each do assign :races, races assign :selected_races, selected_races + assign :graph, graph assign :graphs, graphs + assign :background, background assign :academic_year, academic_year assign :available_academic_years, [academic_year] assign :selected_academic_years, [academic_year]