sqm-dashboards/spec/presenters/analyze/graph/students_by_race_spec.rb
rebuilt b9ba8abf73 Refactor GroupedBarColumnPresenter to accept a configuration so that a
column can by given on the fly (dependency injection). Show Parent
graphs on analyze page.
2025-03-11 12:56:41 -07:00

23 lines
1.3 KiB
Ruby

require 'rails_helper'
include Analyze::Graph
include Analyze::Graph::Column
describe StudentsByRace do
let(:american_indian) { create(:race, designation: "american indian", qualtrics_code: 1) }
let(:asian) { create(:race, designation: "asian", qualtrics_code: 2) }
let(:black) { create(:race, designation: "black", qualtrics_code: 3) }
let(:hispanic) { create(:race, designation: "hispanic", qualtrics_code: 4) }
let(:white) { create(:race, designation: "white", qualtrics_code: 5) }
let(:unknown) { create(:race, designation: "unknown", qualtrics_code: 99) }
let(:multiracial) { create(:race, designation: "multiracial", qualtrics_code: 100) }
context 'when initialized with a list of races' do
it 'generates corresponding race columns' do
races = [american_indian]
expect(StudentsByRace.new(races:).columns.map(&:label).map { |words| words.join(" ") }).to eq ["american indian", "All Students"]
races = [american_indian, asian]
expect(StudentsByRace.new(races:).columns.map(&:label).map { |words| words.join(" ") }).to eq ["american indian", "asian", "All Students"]
races = [black, hispanic, multiracial]
expect(StudentsByRace.new(races:).columns.map(&:label).map { |words| words.join(" ") }).to eq ["black", "hispanic", "multiracial", "All Students"]
end
end
end