add created_on_blueprint_sync to assignment_created LE
flag = none closes QUIZ-9498 test plan: - create a master (blueprint) course with assignments - open a terminal in quiz_lti where you can inspect sqs logs - associate the master course to a child course and wait for the synchronization to finish - from your quiz_lti terminal, observe the assignment_created event(s) - the event should have a created_on_blueprint_sync field set as "true" - create assignments manually in blueprint courses and non-blueprint courses - observe that this time created_on_blueprint_sync is set as "false" Change-Id: I9eac41669f26f070c9c5325da251479a6a4b5751 Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290195 Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> Reviewed-by: Weston Dransfield <wdransfield@instructure.com> QA-Review: Weston Dransfield <wdransfield@instructure.com> Product-Review: Jorge Arteaga <jorge.arteaga@instructure.com>
This commit is contained in:
parent
e8fb15ef51
commit
56afeedf23
|
@ -47,6 +47,7 @@ Assignment
|
||||||
"context_id": "21070000000000565",
|
"context_id": "21070000000000565",
|
||||||
"context_type": "Course",
|
"context_type": "Course",
|
||||||
"context_uuid": "a1b2c3c4z9x8a1s2q5w6p9o8i7u6y5t6a2s3d4f5",
|
"context_uuid": "a1b2c3c4z9x8a1s2q5w6p9o8i7u6y5t6a2s3d4f5",
|
||||||
|
"created_on_blueprint_sync": false,
|
||||||
"description": "<p>test assignment</p>",
|
"description": "<p>test assignment</p>",
|
||||||
"due_at": "2018-10-01T05:59:59Z",
|
"due_at": "2018-10-01T05:59:59Z",
|
||||||
"lock_at": "2018-10-01T05:59:59Z",
|
"lock_at": "2018-10-01T05:59:59Z",
|
||||||
|
@ -75,6 +76,7 @@ Assignment
|
||||||
| **context_id** | The type of context the assignment is used in. |
|
| **context_id** | The type of context the assignment is used in. |
|
||||||
| **context_type** | The type of context the assignment is used in. |
|
| **context_type** | The type of context the assignment is used in. |
|
||||||
| **context_uuid** | The uuid of the context associated with the assignment. |
|
| **context_uuid** | The uuid of the context associated with the assignment. |
|
||||||
|
| **created_on_blueprint_sync** | Whether or not the assignment was created in the context of a blueprint sync. |
|
||||||
| **description** | The description of the assignment. NOTE: This field will be truncated to only include the first 8192 characters. |
|
| **description** | The description of the assignment. NOTE: This field will be truncated to only include the first 8192 characters. |
|
||||||
| **due_at** | The due date for the assignment. |
|
| **due_at** | The due date for the assignment. |
|
||||||
| **lock_at** | The lock date (assignment is locked after this date). |
|
| **lock_at** | The lock date (assignment is locked after this date). |
|
||||||
|
@ -476,6 +478,3 @@ Assignment
|
||||||
| **unlock_at** | The unlock date (assignment is unlocked after this date), or null if not applicable. |
|
| **unlock_at** | The unlock date (assignment is unlocked after this date), or null if not applicable. |
|
||||||
| **updated_at** | The time at which this assignment was last modified in any way. |
|
| **updated_at** | The time at which this assignment was last modified in any way. |
|
||||||
| **workflow_state** | Workflow state of the assignment (deleted, duplicating, failed_to_import, failed_to_duplicate, failed_to_migrate, importing, published, unpublished). |
|
| **workflow_state** | Workflow state of the assignment (deleted, duplicating, failed_to_import, failed_to_duplicate, failed_to_migrate, importing, published, unpublished). |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -222,6 +222,10 @@ module Canvas::LiveEvents
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.get_assignment_data(assignment)
|
def self.get_assignment_data(assignment)
|
||||||
|
created_on_blueprint_sync =
|
||||||
|
MasterCourses::ChildSubscription.is_child_course?(assignment.context) &&
|
||||||
|
assignment.migration_id&.start_with?(MasterCourses::MIGRATION_ID_PREFIX)
|
||||||
|
|
||||||
event = {
|
event = {
|
||||||
assignment_id: assignment.global_id,
|
assignment_id: assignment.global_id,
|
||||||
context_id: assignment.global_context_id,
|
context_id: assignment.global_context_id,
|
||||||
|
@ -240,7 +244,8 @@ module Canvas::LiveEvents
|
||||||
lti_assignment_description: LiveEvents.truncate(assignment.description),
|
lti_assignment_description: LiveEvents.truncate(assignment.description),
|
||||||
lti_resource_link_id: assignment.lti_resource_link_id,
|
lti_resource_link_id: assignment.lti_resource_link_id,
|
||||||
lti_resource_link_id_duplicated_from: assignment.duplicate_of&.lti_resource_link_id,
|
lti_resource_link_id_duplicated_from: assignment.duplicate_of&.lti_resource_link_id,
|
||||||
submission_types: assignment.submission_types
|
submission_types: assignment.submission_types,
|
||||||
|
created_on_blueprint_sync: created_on_blueprint_sync || false
|
||||||
}
|
}
|
||||||
actl = assignment.assignment_configuration_tool_lookups.take
|
actl = assignment.assignment_configuration_tool_lookups.take
|
||||||
domain = assignment.root_account&.domain(ApplicationController.test_cluster_name)
|
domain = assignment.root_account&.domain(ApplicationController.test_cluster_name)
|
||||||
|
|
|
@ -896,6 +896,72 @@ describe Canvas::LiveEvents do
|
||||||
Canvas::LiveEvents.assignment_created(@assignment)
|
Canvas::LiveEvents.assignment_created(@assignment)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context "when the assignment is created as part of a blueprint sync" do
|
||||||
|
before do
|
||||||
|
course = course_model
|
||||||
|
master_template = MasterCourses::MasterTemplate.create!(course: course)
|
||||||
|
child_course = course_model
|
||||||
|
MasterCourses::ChildSubscription.create!(master_template: master_template, child_course: child_course)
|
||||||
|
@assignment = child_course.assignments.create!(assignment_valid_attributes
|
||||||
|
.merge({ migration_id: "mastercourse_1_1_bd72ce9cf355d1b2cc467b2156842281" }))
|
||||||
|
end
|
||||||
|
|
||||||
|
it "has the created_on_blueprint_sync field set as true" do
|
||||||
|
expect_event("assignment_created",
|
||||||
|
hash_including({
|
||||||
|
assignment_id: @assignment.global_id.to_s,
|
||||||
|
created_on_blueprint_sync: true
|
||||||
|
}))
|
||||||
|
Canvas::LiveEvents.assignment_created(@assignment)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "when the assignment is manually created in a blueprint child course" do
|
||||||
|
before do
|
||||||
|
master_template = MasterCourses::MasterTemplate.create!(course: course_model)
|
||||||
|
child_course = course_model
|
||||||
|
MasterCourses::ChildSubscription.create!(master_template: master_template, child_course: child_course)
|
||||||
|
@assignment = child_course.assignments.create!(assignment_valid_attributes)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "has created_on_blueprint_sync set as false" do
|
||||||
|
expect_event("assignment_created",
|
||||||
|
hash_including({
|
||||||
|
assignment_id: @assignment.global_id.to_s,
|
||||||
|
created_on_blueprint_sync: false
|
||||||
|
}))
|
||||||
|
Canvas::LiveEvents.assignment_created(@assignment)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "when the assignment is manually created in a blueprint course" do
|
||||||
|
before do
|
||||||
|
course = course_model
|
||||||
|
MasterCourses::MasterTemplate.create!(course: course)
|
||||||
|
@assignment = course.assignments.create!(assignment_valid_attributes)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "has created_on_blueprint_sync set as false" do
|
||||||
|
expect_event("assignment_created",
|
||||||
|
hash_including({
|
||||||
|
assignment_id: @assignment.global_id.to_s,
|
||||||
|
created_on_blueprint_sync: false
|
||||||
|
}))
|
||||||
|
Canvas::LiveEvents.assignment_created(@assignment)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "when the assignment is created in a non-blueprint course" do
|
||||||
|
it "has created_on_blueprint_sync set as false" do
|
||||||
|
expect_event("assignment_created",
|
||||||
|
hash_including({
|
||||||
|
assignment_id: @assignment.global_id.to_s,
|
||||||
|
created_on_blueprint_sync: false
|
||||||
|
}))
|
||||||
|
Canvas::LiveEvents.assignment_created(@assignment)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context "with assignment configuration tool lookup" do
|
context "with assignment configuration tool lookup" do
|
||||||
include_context "lti2_spec_helper"
|
include_context "lti2_spec_helper"
|
||||||
let(:product_family) do
|
let(:product_family) do
|
||||||
|
|
Loading…
Reference in New Issue