fix sentry error

test plan
 - specs should pass

fixes VICE-1569
flag=none

Change-Id: Ibb8d7e656e80ce52a82f5445f0d611c39163a2ce
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/266669
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Tested-by: Mauricio Ribeiro <mauricio.ribeiro@instructure.com>
Reviewed-by: Mauricio Ribeiro <mauricio.ribeiro@instructure.com>
QA-Review: Mauricio Ribeiro <mauricio.ribeiro@instructure.com>
Product-Review: Mauricio Ribeiro <mauricio.ribeiro@instructure.com>
This commit is contained in:
Rob Orton 2021-06-08 12:18:03 -06:00
parent b6fa421503
commit a50a99fad6
2 changed files with 9 additions and 0 deletions

View File

@ -648,6 +648,8 @@ class DiscussionTopic < ActiveRecord::Base
end
def child_topic_for(user)
return unless context.is_a?(Course)
group_ids = user.group_memberships.active.pluck(:group_id) &
context.groups.active.pluck(:id)
child_topics.active.where(context_id: group_ids, context_type: 'Group').first

View File

@ -1962,6 +1962,13 @@ describe DiscussionTopic do
expect(@topic.subscription_hold(@student, nil, nil)).to eql(:not_in_group_set)
end
it "should not fail for group discussion" do
group = group_model(name: 'Project Group 1', group_category: @group_category, context: @course)
topic = group.discussion_topics.create!(title: 'hi', message: 'hey')
expect(topic.subscription_hold(@student, nil, nil)).to eql(:not_in_group)
expect(topic.child_topic_for(@student)).to be_nil
end
it "should hold when the user is not in a group" do
group_discussion_assignment
expect(@topic.child_topics.first.subscription_hold(@student, nil, nil)).to eql(:not_in_group)