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.
24 lines
1.3 KiB
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
|