mirror of
https://github.com/edcommonwealth/sqm-dashboards.git
synced 2026-03-07 21:48:16 -08:00
83 lines
2.5 KiB
Ruby
83 lines
2.5 KiB
Ruby
require "rails_helper"
|
||
|
||
describe DemographicLoader do
|
||
let(:filepath) { "spec/fixtures/sample_demographics.csv" }
|
||
let(:race_codes) do
|
||
{ "American Indian or Alaskan Native" => 1, "Asian or Pacific Islander" => 2, "Black or African American" => 3,
|
||
"Hispanic or Latinx" => 4, "White or Caucasian" => 5, "Race/Ethnicity Not Listed" => 99, "Middle Eastern" => 8, "Multiracial" => 100 }
|
||
end
|
||
|
||
let(:gender_codes) do
|
||
{
|
||
"Female" => 1, "Male" => 2, "Non-Binary" => 4, "Unknown" => 99
|
||
}
|
||
end
|
||
|
||
let(:incomes) do
|
||
["Economically Disadvantaged – N", "Economically Disadvantaged – Y", "Unknown"]
|
||
end
|
||
|
||
let(:ells) do
|
||
["ELL", "Not ELL", "Unknown"]
|
||
end
|
||
|
||
let(:speds) do
|
||
["Special Education", "Not Special Education", "Unknown"]
|
||
end
|
||
|
||
before :each do
|
||
DemographicLoader.load_data(filepath:)
|
||
end
|
||
|
||
after :each do
|
||
DatabaseCleaner.clean
|
||
end
|
||
|
||
describe "self.load_data" do
|
||
it "does not load qualtrics categories for `prefer not to disclose` or `prefer to self-describe`" do
|
||
expect(Race.find_by_qualtrics_code(6)).to be nil
|
||
end
|
||
|
||
it "loads all racial designations" do
|
||
expect(Race.all.count).to eq 8
|
||
race_codes.each do |key, value|
|
||
expect(Race.find_by_qualtrics_code(value)).not_to eq nil
|
||
expect(Race.find_by_qualtrics_code(value).designation).to eq key
|
||
expect(Race.find_by_designation(key)).not_to eq nil
|
||
expect(Race.find_by_designation(key).qualtrics_code).to eq value
|
||
end
|
||
end
|
||
|
||
it "loads all gender designations" do
|
||
expect(Gender.all.count).to eq 4
|
||
|
||
gender_codes.each do |key, value|
|
||
expect(Gender.find_by_qualtrics_code(value)).not_to eq nil
|
||
expect(Gender.find_by_qualtrics_code(value).designation).to eq key
|
||
expect(Gender.find_by_designation(key)).not_to eq nil
|
||
expect(Gender.find_by_designation(key).qualtrics_code).to eq value
|
||
end
|
||
end
|
||
|
||
it "loads all the income designations" do
|
||
expect(Income.all.count).to eq 3
|
||
incomes.each do |income|
|
||
expect(Income.find_by_designation(income).designation).to eq income
|
||
end
|
||
end
|
||
|
||
it "loads all the ells designations" do
|
||
expect(Ell.all.count).to eq 3
|
||
ells.each do |ell|
|
||
expect(Ell.find_by_designation(ell).designation).to eq ell
|
||
end
|
||
end
|
||
|
||
it "load all the special ed designations" do
|
||
expect(Sped.all.count).to eq 3
|
||
speds.each do |sped|
|
||
expect(Sped.find_by_designation(sped).designation).to eq sped
|
||
end
|
||
end
|
||
end
|
||
end
|