Skip to content

Commit 051cf7f

Browse files
authored
Increasing test seeds predictability (#461)
## Status - Closes _add issue numbers or delete_ - Related to _add issue numbers or delete_ ## Points for consideration: - Security - Performance ## What's changed? _Description of what's been done - bullets are often best_ ## Steps to perform after deploying to production _If the production environment requires any extra work after this PR has been deployed detail it here. This could be running a Rake task, a migration, or upgrading a Gem. That kind of thing._
1 parent 5f06e76 commit 051cf7f

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

lib/tasks/seeds_helper.rb

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,11 @@ def verify_school(school)
4545
# rubocop:enable Rails/SkipsModelValidations
4646
end
4747

48-
def create_school_class(teacher_id, school)
48+
def create_school_class(teacher_id, school, name = Faker::Educator.course_name, description = Faker::Hacker.phrases.sample)
4949
SchoolClass.find_or_create_by!(teacher_id:, school:) do |school_class|
5050
Rails.logger.info 'Seeding a class...'
51-
school_class.name = Faker::Educator.course_name
52-
school_class.description = Faker::Hacker.phrases.sample
51+
school_class.name = name
52+
school_class.description = description
5353
school_class.teacher_id = teacher_id
5454
school_class.school = school
5555
end
@@ -87,7 +87,7 @@ def create_lessons(user_id, school, school_class, visibility = 'students')
8787
end
8888
end
8989

90-
def create_project(user_id, school, lesson)
90+
def create_project(user_id, school, lesson, code = '')
9191
Project.find_or_create_by!(user_id:, school:, lesson:) do |project|
9292
Rails.logger.info "Seeding a project for #{lesson.name}..."
9393
project.name = lesson.name
@@ -97,7 +97,7 @@ def create_project(user_id, school, lesson)
9797
project.locale = 'en'
9898
project.project_type = 'python'
9999
project.components << Component.new({ extension: 'py', name: 'main',
100-
content: '' })
100+
content: code })
101101
end
102102
end
103103
end

lib/tasks/test_seeds.rake

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,13 @@ namespace :test_seeds do
5757

5858
# for each of the owner and teacher, create a class and assign students
5959
[creator_id, teacher_id].each do |user_id|
60-
school_class = create_school_class(user_id, school)
60+
teacher_name = user_id == creator_id ? 'Jane Doe' : 'John Doe'
61+
school_class = create_school_class(user_id, school, "#{teacher_name}'s Class", "A class for #{teacher_name}'s students")
6162
assign_students(school_class, school)
6263

6364
lessons = create_lessons(user_id, school, school_class)
6465
lessons.each do |lesson|
65-
create_project(user_id, school, lesson)
66+
create_project(user_id, school, lesson, 'print("Hello World!")')
6667
end
6768
end
6869
Rails.logger.info 'Done...'

0 commit comments

Comments
 (0)