23 lines
1.0 KiB
Ruby
23 lines
1.0 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
FactoryBot.define do
|
|
factory :remote_evaluation_mapping, class: 'RemoteEvaluationMapping' do
|
|
created_by_external_user
|
|
validation_token { SecureRandom.urlsafe_base64 }
|
|
exercise factory: :math
|
|
|
|
after(:create) do |remote_evaluation_mapping|
|
|
# Do not change anything if a study group was provided explicitly or user has no study groups
|
|
unless remote_evaluation_mapping.study_group_id.present? || remote_evaluation_mapping.user.study_groups.blank?
|
|
remote_evaluation_mapping.update!(study_group_id: remote_evaluation_mapping.user.study_groups.first.id)
|
|
end
|
|
|
|
pg = remote_evaluation_mapping.user.programming_groups.find_by(exercise: remote_evaluation_mapping.exercise)
|
|
# Do not change anything if a programming group was provided explicitly or user has no programming group
|
|
unless remote_evaluation_mapping.programming_group_id.present? || pg.blank?
|
|
remote_evaluation_mapping.update!(programming_group_id: pg.id)
|
|
end
|
|
end
|
|
end
|
|
end
|