You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sqm-dashboards/spec/presenters/analyze/graph/students_by_race_spec.rb

24 lines
1.3 KiB

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