diff --git a/app/models/lti_parameter.rb b/app/models/lti_parameter.rb index a6b1917b..3351a6c9 100644 --- a/app/models/lti_parameter.rb +++ b/app/models/lti_parameter.rb @@ -1,4 +1,8 @@ class LtiParameter < ActiveRecord::Base + belongs_to :consumer, foreign_key: "consumers_id" + belongs_to :exercise, foreign_key: "exercises_id" + belongs_to :external_user, foreign_key: "external_users_id" + scope :lis_outcome_service_url?, -> { where("lti_parameters.lti_parameters ? 'lis_outcome_service_url'") } diff --git a/spec/factories/lti_parameter.rb b/spec/factories/lti_parameter.rb index ef91f30d..9cd0f367 100644 --- a/spec/factories/lti_parameter.rb +++ b/spec/factories/lti_parameter.rb @@ -1,23 +1,20 @@ FactoryGirl.define do - #TODO do this proper + + LTI_PARAMETERS = { + lis_result_sourcedid: "c2db0c7c-4411-4b27-a52b-ddfc3dc32065", + lis_outcome_service_url: "http://172.16.54.235:3000/courses/0132156a-9afb-434d-83cc-704780104105/sections/21c6c6f4-1fb6-43b4-af3c-04fdc098879e/items/999b1fe6-d4b6-47b7-a577-ea2b4b1041ec/tool_grading", + launch_presentation_return_url: "http://172.16.54.235:3000/courses/0132156a-9afb-434d-83cc-704780104105/sections/21c6c6f4-1fb6-43b4-af3c-04fdc098879e/items/999b1fe6-d4b6-47b7-a577-ea2b4b1041ec/tool_return" + } + factory :lti_parameter do - consumers_id 1 - exercises_id 1 - external_users_id 1 + association :consumer + association :exercise, factory: :math + association :external_user - lti_parameters JSON.parse('{"lis_result_sourcedid": "c2db0c7c-4411-4b27-a52b-ddfc3dc32065", - "lis_outcome_service_url": "http://172.16.54.235:3000/courses/0132156a-9afb-434d-83cc-704780104105/sections/21c6c6f4-1fb6-43b4-af3c-04fdc098879e/items/999b1fe6-d4b6-47b7-a577-ea2b4b1041ec/tool_grading", - "launch_presentation_return_url": "http://172.16.54.235:3000/courses/0132156a-9afb-434d-83cc-704780104105/sections/21c6c6f4-1fb6-43b4-af3c-04fdc098879e/items/999b1fe6-d4b6-47b7-a577-ea2b4b1041ec/tool_return"}') + lti_parameters LTI_PARAMETERS + + trait :without_outcome_service_url do + lti_parameters LTI_PARAMETERS.except(:lis_outcome_service_url) + end end - - # factory :lti_parameter do - # association :consumers_id, factory: :consumer - # association :exercises_id, factory: :math - # association :external_users_id, factory: :external_user - # - # - # trait :lti_parameters do - # JSON.parse('{"lis_result_sourcedid": "c2db0c7c-4411-4b27-a52b-ddfc3dc32065", "lis_outcome_service_url": "http://172.16.54.235:3000/courses/0132156a-9afb-434d-83cc-704780104105/sections/21c6c6f4-1fb6-43b4-af3c-04fdc098879e/items/999b1fe6-d4b6-47b7-a577-ea2b4b1041ec/tool_grading", "launch_presentation_return_url": "http://172.16.54.235:3000/courses/0132156a-9afb-434d-83cc-704780104105/sections/21c6c6f4-1fb6-43b4-af3c-04fdc098879e/items/999b1fe6-d4b6-47b7-a577-ea2b4b1041ec/tool_return"}') - # end - # end end \ No newline at end of file