diff --git a/app/models/mentor/discussion.rb b/app/models/mentor/discussion.rb index 778c42c863..2a50c0a3fa 100644 --- a/app/models/mentor/discussion.rb +++ b/app/models/mentor/discussion.rb @@ -95,13 +95,13 @@ def finished_for_mentor? = %i[mentor_finished finished student_timed_out mentor_ def timed_out? = %i[student_timed_out mentor_timed_out].include?(status) def viewable_by?(user) - return true if user.admin? + return true if user&.admin? [mentor, student].include?(user) end def viewable_by_mentor?(user) - return true if user.admin? + return true if user&.admin? user == mentor end diff --git a/test/models/mentor/discussion_test.rb b/test/models/mentor/discussion_test.rb index cdc9601b12..76a23c569d 100644 --- a/test/models/mentor/discussion_test.rb +++ b/test/models/mentor/discussion_test.rb @@ -82,6 +82,12 @@ class Mentor::DiscussionTest < ActiveSupport::TestCase refute discussion.viewable_by?(user) end + test "#viewable_by? returns false if user is nil" do + discussion = create :mentor_discussion + + refute discussion.viewable_by?(nil) + end + test "finished?" do skip # TODO: Can this be deleted? discussion = create :mentor_discussion