def setUp(self): self.setup_sample_course() self.asset1 = AssetFactory(course=self.sample_course) global_annotation, created = SherdNote.objects.global_annotation( self.asset1, self.student_three, auto_create=True ) self.assertTrue(global_annotation.is_global_annotation()) whole_item_annotation = SherdNoteFactory( asset=self.asset1, author=self.student_three, title="Whole Item Selection", range1=0, range2=0 ) self.assertFalse(whole_item_annotation.is_global_annotation()) real_annotation = SherdNoteFactory( asset=self.asset1, author=self.student_three, title="Selection", range1=116.25, range2=6.75 ) self.assertFalse(real_annotation.is_global_annotation()) self.assignment1 = ProjectFactory.create( title="Alpha", course=self.sample_course, author=self.instructor_one, policy="CourseProtected", project_type="assignment", ) self.response1 = ProjectFactory.create( title="Response 1", course=self.sample_course, author=self.student_one, policy="InstructorShared", parent=self.assignment1, ) self.response2 = ProjectFactory.create( title="Response 2", date_submitted=datetime.now(), course=self.sample_course, author=self.student_two, policy="InstructorShared", parent=self.assignment1, ) self.assignment2 = ProjectFactory.create( title="Beta", course=self.sample_course, author=self.instructor_one, policy="CourseProtected", project_type="assignment", ) self.project = ProjectFactory( title="Gamma", course=self.sample_course, author=self.instructor_one, policy="CourseProtected" ) self.add_citation(self.project, global_annotation) self.add_citation(self.project, whole_item_annotation) self.add_citation(self.project, real_annotation)
def test_is_global_annotation(self): asset = AssetFactory(course=self.sample_course) global_annotation, created = SherdNote.objects.global_annotation( asset, self.student_three, auto_create=True) self.assertTrue(global_annotation.is_global_annotation()) whole_item_annotation = SherdNoteFactory( asset=asset, author=self.student_three, title="Whole Item Selection", range1=0, range2=0) self.assertFalse(whole_item_annotation.is_global_annotation()) real_annotation = SherdNoteFactory( asset=asset, author=self.student_three, title="Selection", range1=116.25, range2=6.75) self.assertFalse(real_annotation.is_global_annotation())
def setUp(self): self.setup_sample_course() self.asset1 = AssetFactory(course=self.sample_course) global_annotation, created = SherdNote.objects.global_annotation( self.asset1, self.student_three, auto_create=True) self.assertTrue(global_annotation.is_global_annotation()) whole_item_annotation = SherdNoteFactory( asset=self.asset1, author=self.student_three, title="Whole Item Selection", range1=0, range2=0) self.assertFalse(whole_item_annotation.is_global_annotation()) real_annotation = SherdNoteFactory( asset=self.asset1, author=self.student_three, title="Selection", range1=116.25, range2=6.75) self.assertFalse(real_annotation.is_global_annotation()) self.assignment1 = ProjectFactory.create( title='Alpha', course=self.sample_course, author=self.instructor_one, policy='CourseProtected', project_type='assignment') self.response1 = ProjectFactory.create( title="Response 1", course=self.sample_course, author=self.student_one, policy='InstructorShared', parent=self.assignment1) self.response2 = ProjectFactory.create( title="Response 2", date_submitted=datetime.now(), course=self.sample_course, author=self.student_two, policy='InstructorShared', parent=self.assignment1) self.assignment2 = ProjectFactory.create( title='Beta', course=self.sample_course, author=self.instructor_one, policy='CourseProtected', project_type='assignment') self.project = ProjectFactory(title='Gamma', course=self.sample_course, author=self.instructor_one, policy='CourseProtected') self.add_citation(self.project, global_annotation) self.add_citation(self.project, whole_item_annotation) self.add_citation(self.project, real_annotation)
def test_is_global_annotation(self): asset = AssetFactory(course=self.sample_course) global_annotation, created = SherdNote.objects.global_annotation( asset, self.student_three, auto_create=True) self.assertTrue(global_annotation.is_global_annotation()) whole_item_annotation = SherdNoteFactory(asset=asset, author=self.student_three, title="Whole Item Selection", range1=0, range2=0) self.assertFalse(whole_item_annotation.is_global_annotation()) real_annotation = SherdNoteFactory(asset=asset, author=self.student_three, title="Whole Item Selection", range1=116.25, range2=6.75) self.assertFalse(real_annotation.is_global_annotation())
class SherdNoteFilterTest(MediathreadTestCase): def setUp(self): super(self.__class__, self).setUp() self.asset = AssetFactory(course=self.sample_course, author=self.student_one) self.ga1 = SherdNoteFactory(asset=self.asset, author=self.student_one, tags=',student_one_item', title=None, range1=None, range2=None) self.assertTrue(self.ga1.is_global_annotation()) self.note1 = SherdNoteFactory(asset=self.asset, author=self.student_one, tags=',student_one_selection', range1=0, range2=1) self.ga2 = SherdNoteFactory(asset=self.asset, author=self.student_two, tags=',student_two_item', title=None, range1=None, range2=None) self.note2 = SherdNoteFactory(asset=self.asset, author=self.student_two, tags=',student_two_selection', range1=0, range2=1) self.ga3 = SherdNoteFactory(asset=self.asset, author=self.instructor_one, tags=',instructor_one_item', title=None, range1=None, range2=None) self.note3 = SherdNoteFactory(asset=self.asset, author=self.instructor_one, tags=',image,instructor_one_selection,', range1=0, range2=1) def test_filter_by_record_owner(self): qs = Asset.objects.filter(id=self.asset.id) author = User.objects.get(username='******') names = ['instructor_one', 'instructor_two', 'student_one'] users = User.objects.filter(username__in=names).values_list('id') visible_authors = users.values_list('id', flat=True) notes = SherdNote.objects.get_related_notes(qs, author, visible_authors) self.assertEquals(notes.count(), 2) self.assertEquals(notes[0], self.ga1) self.assertEquals(notes[1], self.note1) def test_filter_no_authors(self): qs = Asset.objects.filter(id=self.asset.id) notes = SherdNote.objects.get_related_notes(qs, None, []) self.assertEquals(notes.count(), 6) self.assertEquals(notes[0], self.ga1) self.assertEquals(notes[1], self.note1) self.assertEquals(notes[2], self.ga2) self.assertEquals(notes[3], self.note2) self.assertEquals(notes[4], self.ga3) self.assertEquals(notes[5], self.note3) def test_filter_by_visible_authors(self): qs = Asset.objects.filter(id=self.asset.id) names = ['instructor_one', 'instructor_two', 'student_one'] users = User.objects.filter(username__in=names).values_list('id') visible_authors = users.values_list('id', flat=True) notes = SherdNote.objects.get_related_notes(qs, None, visible_authors) self.assertEquals(notes.count(), 4) self.assertEquals(notes[0], self.ga1) self.assertEquals(notes[1], self.note1) self.assertEquals(notes[2], self.ga3) self.assertEquals(notes[3], self.note3) def test_filter_by_tags(self): notes = SherdNote.objects.filter_by_tags('student_one_selection') self.assertEquals(notes.count(), 1) self.assertEquals(notes[0], self.note1) notes = SherdNote.objects.filter(asset=self.asset) self.assertEquals(notes.count(), 6) notes = notes.filter_by_tags('student_two_selection,image').order_by( 'id') self.assertEquals(notes.count(), 2) self.assertEquals(notes[0], self.note2) self.assertEquals(notes[1], self.note3)
class SherdNoteFilterTest(MediathreadTestMixin, TestCase): def setUp(self): self.setup_sample_course() self.asset = AssetFactory(course=self.sample_course, author=self.student_one, primary_source='image',) self.student_one_ga = SherdNoteFactory( asset=self.asset, author=self.student_one, tags=',student_one_item', title=None, range1=None, range2=None) self.assertTrue(self.student_one_ga.is_global_annotation()) self.student_one_note = SherdNoteFactory( asset=self.asset, author=self.student_one, tags=',student_one_selection', range1=0, range2=1) self.student_two_ga = SherdNoteFactory( asset=self.asset, author=self.student_two, tags=',student_two_item', title=None, range1=None, range2=None) self.student_two_note = SherdNoteFactory( asset=self.asset, author=self.student_two, tags=',student_two_selection', range1=0, range2=1) self.instructor_one_ga = SherdNoteFactory( asset=self.asset, author=self.instructor_one, tags=',instructor_one_item', title=None, range1=None, range2=None) self.instructor_one_note = SherdNoteFactory( asset=self.asset, author=self.instructor_one, tags=',image,instructor_one_selection,', range1=0, range2=1) def test_filter_by_record_owner(self): qs = Asset.objects.filter(id=self.asset.id) author = User.objects.get(username='******') names = ['instructor_one', 'instructor_two', 'student_one'] users = User.objects.filter(username__in=names).values_list('id') visible_authors = users.values_list('id', flat=True) notes = SherdNote.objects.get_related_notes(qs, author, visible_authors, True) self.assertEquals(notes.count(), 2) self.assertEquals(notes[0], self.student_one_ga) self.assertEquals(notes[1], self.student_one_note) def test_filter_no_authors(self): qs = Asset.objects.filter(id=self.asset.id) notes = SherdNote.objects.get_related_notes(qs, None, [], True) self.assertEquals(notes.count(), 6) self.assertEquals(notes[0], self.student_one_ga) self.assertEquals(notes[1], self.student_one_note) self.assertEquals(notes[2], self.student_two_ga) self.assertEquals(notes[3], self.student_two_note) self.assertEquals(notes[4], self.instructor_one_ga) self.assertEquals(notes[5], self.instructor_one_note) def test_filter_by_visible_authors(self): qs = Asset.objects.filter(id=self.asset.id) names = ['instructor_one', 'instructor_two', 'student_one'] users = User.objects.filter(username__in=names).values_list('id') visible_authors = users.values_list('id', flat=True) notes = SherdNote.objects.get_related_notes(qs, None, visible_authors, True) self.assertEquals(notes.count(), 5) self.assertEquals(notes[0], self.student_one_ga) self.assertEquals(notes[1], self.student_one_note) self.assertEquals(notes[2], self.student_two_ga) self.assertEquals(notes[3], self.instructor_one_ga) self.assertEquals(notes[4], self.instructor_one_note) def test_filter_by_all_items_are_visible(self): qs = Asset.objects.filter(id=self.asset.id) names = ['instructor_one', 'instructor_two', 'student_one'] users = User.objects.filter(username__in=names).values_list('id') visible_authors = users.values_list('id', flat=True) notes = SherdNote.objects.get_related_notes(qs, None, visible_authors, False) self.assertEquals(notes.count(), 4) self.assertEquals(notes[0], self.student_one_ga) self.assertEquals(notes[1], self.student_one_note) self.assertEquals(notes[2], self.instructor_one_ga) self.assertEquals(notes[3], self.instructor_one_note) def test_filter_by_tags(self): notes = SherdNote.objects.filter_by_tags('student_one_selection') self.assertEquals(notes.count(), 1) self.assertEquals(notes[0], self.student_one_note) notes = SherdNote.objects.filter(asset=self.asset) self.assertEquals(notes.count(), 6) notes = notes.filter_by_tags( 'student_two_selection,image').order_by('id') self.assertEquals(notes.count(), 2) self.assertEquals(notes[0], self.student_two_note) self.assertEquals(notes[1], self.instructor_one_note) def test_get_related_assets(self): asset2 = AssetFactory(course=self.sample_course, author=self.student_one) note2 = SherdNoteFactory(asset=asset2, author=self.student_one) ids = [self.student_one_ga.id, self.student_one_note.id, note2.id] notes = SherdNote.objects.filter(id__in=ids) assets = notes.get_related_assets() self.assertEquals(assets.count(), 2) self.assertTrue(self.asset in assets) self.assertTrue(asset2 in assets) def test_exclude_primary_types(self): asset2 = AssetFactory(course=self.sample_course, author=self.student_one, primary_source='youtube',) youtube_note = SherdNoteFactory( asset=asset2, author=self.student_one, tags=',student_one_selection', range1=0, range2=1) qs = SherdNote.objects.filter(author=self.student_one) self.assertEquals(qs.count(), 3) notes = qs.exclude_primary_types(['youtube']) self.assertEquals(notes.count(), 2) self.assertTrue(self.student_one_ga in notes) self.assertTrue(self.student_one_note in notes) notes = qs.exclude_primary_types(['image']) self.assertEquals(notes.count(), 1) self.assertEquals(notes[0], youtube_note)
class SherdNoteFilterTest(MediathreadTestMixin, TestCase): def setUp(self): self.setup_sample_course() self.asset = AssetFactory( course=self.sample_course, author=self.student_one, primary_source='image', ) self.student_one_ga = SherdNoteFactory(asset=self.asset, author=self.student_one, tags=',student_one_item', title=None, range1=None, range2=None) self.assertTrue(self.student_one_ga.is_global_annotation()) self.student_one_note = SherdNoteFactory(asset=self.asset, author=self.student_one, tags=',student_one_selection', range1=0, range2=1) self.student_two_ga = SherdNoteFactory(asset=self.asset, author=self.student_two, tags=',student_two_item', title=None, range1=None, range2=None) self.student_two_note = SherdNoteFactory(asset=self.asset, author=self.student_two, tags=',student_two_selection', range1=0, range2=1) self.instructor_one_ga = SherdNoteFactory(asset=self.asset, author=self.instructor_one, tags=',instructor_one_item', title=None, range1=None, range2=None) self.instructor_one_note = SherdNoteFactory( asset=self.asset, author=self.instructor_one, tags=',image,instructor_one_selection,', range1=0, range2=1) def test_filter_by_record_owner(self): qs = Asset.objects.filter(id=self.asset.id) author = User.objects.get(username='******') names = ['instructor_one', 'instructor_two', 'student_one'] users = User.objects.filter(username__in=names).values_list('id') visible_authors = users.values_list('id', flat=True) notes = SherdNote.objects.get_related_notes(qs, author, visible_authors, True) self.assertEquals(notes.count(), 2) self.assertEquals(notes[0], self.student_one_ga) self.assertEquals(notes[1], self.student_one_note) def test_filter_no_authors(self): qs = Asset.objects.filter(id=self.asset.id) notes = SherdNote.objects.get_related_notes(qs, None, [], True) self.assertEquals(notes.count(), 6) self.assertEquals(notes[0], self.student_one_ga) self.assertEquals(notes[1], self.student_one_note) self.assertEquals(notes[2], self.student_two_ga) self.assertEquals(notes[3], self.student_two_note) self.assertEquals(notes[4], self.instructor_one_ga) self.assertEquals(notes[5], self.instructor_one_note) def test_filter_by_visible_authors(self): qs = Asset.objects.filter(id=self.asset.id) names = ['instructor_one', 'instructor_two', 'student_one'] users = User.objects.filter(username__in=names).values_list('id') visible_authors = users.values_list('id', flat=True) notes = SherdNote.objects.get_related_notes(qs, None, visible_authors, True) self.assertEquals(notes.count(), 5) self.assertEquals(notes[0], self.student_one_ga) self.assertEquals(notes[1], self.student_one_note) self.assertEquals(notes[2], self.student_two_ga) self.assertEquals(notes[3], self.instructor_one_ga) self.assertEquals(notes[4], self.instructor_one_note) def test_filter_by_all_items_are_visible(self): qs = Asset.objects.filter(id=self.asset.id) names = ['instructor_one', 'instructor_two', 'student_one'] users = User.objects.filter(username__in=names).values_list('id') visible_authors = users.values_list('id', flat=True) notes = SherdNote.objects.get_related_notes(qs, None, visible_authors, False) self.assertEquals(notes.count(), 4) self.assertEquals(notes[0], self.student_one_ga) self.assertEquals(notes[1], self.student_one_note) self.assertEquals(notes[2], self.instructor_one_ga) self.assertEquals(notes[3], self.instructor_one_note) def test_filter_by_tags(self): notes = SherdNote.objects.filter_by_tags('student_one_selection') self.assertEquals(notes.count(), 1) self.assertEquals(notes[0], self.student_one_note) notes = SherdNote.objects.filter(asset=self.asset) self.assertEquals(notes.count(), 6) notes = notes.filter_by_tags('student_two_selection,image').order_by( 'id') self.assertEquals(notes.count(), 2) self.assertEquals(notes[0], self.student_two_note) self.assertEquals(notes[1], self.instructor_one_note) def test_get_related_assets(self): asset2 = AssetFactory(course=self.sample_course, author=self.student_one) note2 = SherdNoteFactory(asset=asset2, author=self.student_one) ids = [self.student_one_ga.id, self.student_one_note.id, note2.id] notes = SherdNote.objects.filter(id__in=ids) assets = notes.get_related_assets() self.assertEquals(assets.count(), 2) self.assertTrue(self.asset in assets) self.assertTrue(asset2 in assets) def test_exclude_primary_types(self): asset2 = AssetFactory( course=self.sample_course, author=self.student_one, primary_source='youtube', ) youtube_note = SherdNoteFactory(asset=asset2, author=self.student_one, tags=',student_one_selection', range1=0, range2=1) qs = SherdNote.objects.filter(author=self.student_one) self.assertEquals(qs.count(), 3) notes = qs.exclude_primary_types(['youtube']) self.assertEquals(notes.count(), 2) self.assertTrue(self.student_one_ga in notes) self.assertTrue(self.student_one_note in notes) notes = qs.exclude_primary_types(['image']) self.assertEquals(notes.count(), 1) self.assertEquals(notes[0], youtube_note)
class SherdNoteFilterTest(MediathreadTestCase): def setUp(self): super(self.__class__, self).setUp() self.asset = AssetFactory(course=self.sample_course, author=self.student_one) self.ga1 = SherdNoteFactory( asset=self.asset, author=self.student_one, tags=',student_one_item', title=None, range1=None, range2=None) self.assertTrue(self.ga1.is_global_annotation()) self.note1 = SherdNoteFactory( asset=self.asset, author=self.student_one, tags=',student_one_selection', range1=0, range2=1) self.ga2 = SherdNoteFactory( asset=self.asset, author=self.student_two, tags=',student_two_item', title=None, range1=None, range2=None) self.note2 = SherdNoteFactory( asset=self.asset, author=self.student_two, tags=',student_two_selection', range1=0, range2=1) self.ga3 = SherdNoteFactory( asset=self.asset, author=self.instructor_one, tags=',instructor_one_item', title=None, range1=None, range2=None) self.note3 = SherdNoteFactory( asset=self.asset, author=self.instructor_one, tags=',image,instructor_one_selection,', range1=0, range2=1) def test_filter_by_record_owner(self): qs = Asset.objects.filter(id=self.asset.id) author = User.objects.get(username='******') names = ['instructor_one', 'instructor_two', 'student_one'] users = User.objects.filter(username__in=names).values_list('id') visible_authors = users.values_list('id', flat=True) notes = SherdNote.objects.get_related_notes(qs, author, visible_authors) self.assertEquals(notes.count(), 2) self.assertEquals(notes[0], self.ga1) self.assertEquals(notes[1], self.note1) def test_filter_no_authors(self): qs = Asset.objects.filter(id=self.asset.id) notes = SherdNote.objects.get_related_notes(qs, None, []) self.assertEquals(notes.count(), 6) self.assertEquals(notes[0], self.ga1) self.assertEquals(notes[1], self.note1) self.assertEquals(notes[2], self.ga2) self.assertEquals(notes[3], self.note2) self.assertEquals(notes[4], self.ga3) self.assertEquals(notes[5], self.note3) def test_filter_by_visible_authors(self): qs = Asset.objects.filter(id=self.asset.id) names = ['instructor_one', 'instructor_two', 'student_one'] users = User.objects.filter(username__in=names).values_list('id') visible_authors = users.values_list('id', flat=True) notes = SherdNote.objects.get_related_notes(qs, None, visible_authors) self.assertEquals(notes.count(), 4) self.assertEquals(notes[0], self.ga1) self.assertEquals(notes[1], self.note1) self.assertEquals(notes[2], self.ga3) self.assertEquals(notes[3], self.note3) def test_filter_by_tags(self): notes = SherdNote.objects.filter_by_tags('student_one_selection') self.assertEquals(notes.count(), 1) self.assertEquals(notes[0], self.note1) notes = SherdNote.objects.filter(asset=self.asset) self.assertEquals(notes.count(), 6) notes = notes.filter_by_tags( 'student_two_selection,image').order_by('id') self.assertEquals(notes.count(), 2) self.assertEquals(notes[0], self.note2) self.assertEquals(notes[1], self.note3)