Improve local seed data with dedicated teacher and student login

* This will also reduce the total number of internal users created through the seeds.
This commit is contained in:
Sebastian Serth
2021-03-17 11:04:42 +01:00
parent 0a475f37b8
commit 54d93a82a5
2 changed files with 21 additions and 7 deletions

View File

@ -5,16 +5,19 @@ FactoryBot.create(:consumer, name: 'openSAP')
# users
# Set default_url_options explicitly, required for rake task
Rails.application.routes.default_url_options = Rails.application.config.action_mailer.default_url_options
[:admin, :external_user, :teacher].each { |factory_name| FactoryBot.create(factory_name) }
admin = FactoryBot.create(:admin)
teacher = FactoryBot.create(:teacher, email: 'teacher@example.org')
FactoryBot.create(:learner, email: 'learner@example.org')
external_user = FactoryBot.create(:external_user)
# execution environments
ExecutionEnvironment.create_factories
ExecutionEnvironment.create_factories user: admin
# exercises
@exercises = find_factories_by_class(Exercise).map(&:name).map { |factory_name| [factory_name, FactoryBot.create(factory_name)] }.to_h
@exercises = find_factories_by_class(Exercise).map(&:name).map { |factory_name| [factory_name, FactoryBot.create(factory_name, user: teacher)] }.to_h
# file types
FileType.create_factories
# submissions
FactoryBot.create(:submission, exercise: @exercises[:fibonacci])
FactoryBot.create(:submission, exercise: @exercises[:fibonacci], user: external_user)