pull/1/head
parent
e8f4773c65
commit
50b3bc678c
@ -0,0 +1,37 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
module Analyze
|
||||||
|
module Graph
|
||||||
|
module Column
|
||||||
|
class Multiracial < GroupedBarColumnPresenter
|
||||||
|
include Analyze::Graph::Column::RaceScore
|
||||||
|
def label
|
||||||
|
# TODO: offset labels so they don't overlap
|
||||||
|
'Multiracial'
|
||||||
|
end
|
||||||
|
|
||||||
|
def basis
|
||||||
|
'student'
|
||||||
|
end
|
||||||
|
|
||||||
|
def show_irrelevancy_message?
|
||||||
|
!measure.includes_student_survey_items?
|
||||||
|
end
|
||||||
|
|
||||||
|
def show_insufficient_data_message?
|
||||||
|
# TODO: implement this logic. Resize messages so they are bound to their column
|
||||||
|
false
|
||||||
|
end
|
||||||
|
|
||||||
|
def score(year_index)
|
||||||
|
# TODO: make sure the score calculation bubble up instead of just average
|
||||||
|
race_score(measure:, school:, academic_year: academic_years[year_index], race:)
|
||||||
|
end
|
||||||
|
|
||||||
|
def race
|
||||||
|
Race.find_by_qualtrics_code 100
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
@ -0,0 +1,22 @@
|
|||||||
|
require 'rails_helper'
|
||||||
|
include Analyze::Graph
|
||||||
|
include Analyze::Graph::Column
|
||||||
|
describe StudentsByGroup do
|
||||||
|
let(:american_indian) { create(:race, qualtrics_code: 1) }
|
||||||
|
let(:asian) { create(:race, qualtrics_code: 2) }
|
||||||
|
let(:black) { create(:race, qualtrics_code: 3) }
|
||||||
|
let(:hispanic) { create(:race, qualtrics_code: 4) }
|
||||||
|
let(:white) { create(:race, qualtrics_code: 5) }
|
||||||
|
let(:unknown) { create(:race, qualtrics_code: 99) }
|
||||||
|
let(:multiracial) { create(:race, qualtrics_code: 100) }
|
||||||
|
context 'when initialized with a list of races' do
|
||||||
|
it 'generates corresponding race columns' do
|
||||||
|
races = [american_indian]
|
||||||
|
expect(StudentsByGroup.new(races:).columns).to eq [AmericanIndian, AllStudent]
|
||||||
|
races = [american_indian, asian]
|
||||||
|
expect(StudentsByGroup.new(races:).columns).to eq [AmericanIndian, Asian, AllStudent]
|
||||||
|
races = [black, hispanic, multiracial]
|
||||||
|
expect(StudentsByGroup.new(races:).columns).to eq [Black, Hispanic, Multiracial, AllStudent]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
Loading…
Reference in new issue