mirror of
https://github.com/edcommonwealth/sqm-dashboards.git
synced 2026-03-07 21:48:16 -08:00
Seed categories/subcategories based on their ID instead of their name
This commit is contained in:
parent
4ee2345ba1
commit
556ff45117
2 changed files with 16 additions and 17 deletions
|
|
@ -24,21 +24,20 @@ class Seeder
|
|||
|
||||
def seed_sqm_framework csv_file
|
||||
CSV.parse(File.read(csv_file), headers: true) do |row|
|
||||
category_name = row['Category'].strip
|
||||
|
||||
category = SqmCategory.find_or_create_by!(name: category_name)
|
||||
category_id = row['Category ID'].strip
|
||||
category = SqmCategory.find_or_create_by!(category_id: category_id)
|
||||
category_slugs = {
|
||||
'Teachers & Leadership' => 'teachers-and-leadership',
|
||||
'School Culture' => 'school-culture',
|
||||
'Resources' => 'resources',
|
||||
'Academic Learning' => 'academic-learning',
|
||||
'Community & Wellbeing' => 'community-and-wellbeing',
|
||||
'1' => 'teachers-and-leadership',
|
||||
'2' => 'school-culture',
|
||||
'3' => 'resources',
|
||||
'4' => 'academic-learning',
|
||||
'5' => 'community-and-wellbeing',
|
||||
}
|
||||
category.update! description: row['Category Description'].strip, slug: category_slugs[category_name], sort_index: category_slugs.keys.index(category_name)
|
||||
category.update! name: row['Category'].strip, description: row['Category Description'].strip, slug: category_slugs[category_id], sort_index: category_slugs.keys.index(category_id)
|
||||
|
||||
subcategory_name = row['Subcategory'].strip
|
||||
subcategory = Subcategory.find_or_create_by! name: subcategory_name, sqm_category: category
|
||||
subcategory.update! description: row['Subcategory Description'].strip
|
||||
subcategory_id = row['Subcategory ID'].strip
|
||||
subcategory = Subcategory.find_or_create_by! subcategory_id: subcategory_id, sqm_category: category
|
||||
subcategory.update! name: row['Subcategory'].strip, description: row['Subcategory Description'].strip
|
||||
|
||||
measure_id = row['Measure ID'].strip
|
||||
measure_name = row['Measures'].try(:strip)
|
||||
|
|
|
|||
|
|
@ -87,11 +87,11 @@ describe Seeder do
|
|||
|
||||
context 'the sqm framework' do
|
||||
before do
|
||||
category = create(:sqm_category, name: 'School Culture', sort_index: -1)
|
||||
subcategory = create(:subcategory, name: 'Safety', description: 'old description', sqm_category: category)
|
||||
measure = create(:measure, name: 'Student Physical Safety?', measure_id: '2A-i', subcategory: subcategory)
|
||||
create(:survey_item, survey_item_id: 's-phys-q1', measure: measure)
|
||||
create(:admin_data_item, admin_data_item_id: 'a-phys-i1', measure: measure)
|
||||
school_culture_category = create(:sqm_category, category_id: '2', sort_index: -1)
|
||||
safety_subcategory = create(:subcategory, subcategory_id: '2A', sqm_category: school_culture_category)
|
||||
student_physical_safety_measure = create(:measure, measure_id: '2A-i', subcategory: safety_subcategory)
|
||||
create(:survey_item, survey_item_id: 's-phys-q1', measure: student_physical_safety_measure)
|
||||
create(:admin_data_item, admin_data_item_id: 'a-phys-i1', measure: student_physical_safety_measure)
|
||||
end
|
||||
|
||||
it 'creates new objects as necessary' do
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue