コード例 #1
0
 def test_upload_single_file_content_visibility_examiners_and_admins(self):
     # Test the content of a CommentFile after upload.
     # Posting comment with visibility visible to examiners and admins
     testfeedbackset = group_mommy.feedbackset_first_attempt_unpublished(
         group__parentnode__parentnode=mommy.make_recipe('devilry.apps.core.period_active'))
     testexaminer = mommy.make('core.examiner', assignmentgroup=testfeedbackset.group)
     temporary_filecollection = group_mommy.temporary_file_collection_with_tempfiles(
         file_list=[
             SimpleUploadedFile(name='testfile.txt', content=b'Test content', content_type='text/txt')
         ],
         user=testexaminer.relatedexaminer.user
     )
     self.mock_http302_postrequest(
         cradmin_role=testexaminer.assignmentgroup,
         requestuser=testexaminer.relatedexaminer.user,
         viewkwargs={'pk': testfeedbackset.group.id},
         requestkwargs={
             'data': {
                 'text': '',
                 'temporary_file_collection_id': temporary_filecollection.id
             }
         })
     self.assertEqual(1, group_models.GroupComment.objects.count())
     self.assertEqual(group_models.GroupComment.VISIBILITY_VISIBLE_TO_EXAMINER_AND_ADMINS,
                      group_models.GroupComment.objects.all()[0].visibility)
     self.assertEqual(1, comment_models.CommentFile.objects.count())
     comment_file = comment_models.CommentFile.objects.all()[0]
     self.assertEqual('testfile.txt', comment_file.filename)
     self.assertEqual(b'Test content', comment_file.file.file.read())
     self.assertEqual(len('Test content'), comment_file.filesize)
     self.assertEqual('text/txt', comment_file.mimetype)
コード例 #2
0
    def test_upload_multiple_files_contents_visibility_examiners_and_admins(
            self):
        # Test the content of a CommentFile after upload.
        testfeedbackset = group_mommy.feedbackset_first_attempt_unpublished()
        testexaminer = mommy.make('core.examiner',
                                  assignmentgroup=testfeedbackset.group)
        temporary_filecollection = group_mommy.temporary_file_collection_with_tempfiles(
            file_list=[
                SimpleUploadedFile(name='testfile1.txt',
                                   content=b'Test content1',
                                   content_type='text/txt'),
                SimpleUploadedFile(name='testfile2.txt',
                                   content=b'Test content2',
                                   content_type='text/txt'),
                SimpleUploadedFile(name='testfile3.txt',
                                   content=b'Test content3',
                                   content_type='text/txt')
            ],
            user=testexaminer.relatedexaminer.user)
        self.mock_http302_postrequest(
            cradmin_role=testexaminer.assignmentgroup,
            requestuser=testexaminer.relatedexaminer.user,
            viewkwargs={'pk': testfeedbackset.group.id},
            requestkwargs={
                'data': {
                    'text': '',
                    'examiner_add_comment_for_examiners': 'unused value',
                    'temporary_file_collection_id': temporary_filecollection.id
                }
            })
        self.assertEquals(1, group_models.GroupComment.objects.count())
        self.assertEqual(
            group_models.GroupComment.
            VISIBILITY_VISIBLE_TO_EXAMINER_AND_ADMINS,
            group_models.GroupComment.objects.all()[0].visibility)
        self.assertEquals(3, comment_models.CommentFile.objects.count())
        comment_file1 = comment_models.CommentFile.objects.get(
            filename='testfile1.txt')
        comment_file2 = comment_models.CommentFile.objects.get(
            filename='testfile2.txt')
        comment_file3 = comment_models.CommentFile.objects.get(
            filename='testfile3.txt')

        # Check content of testfile 1.
        self.assertEqual('testfile1.txt', comment_file1.filename)
        self.assertEqual('Test content1', comment_file1.file.file.read())
        self.assertEqual(len('Test content1'), comment_file1.filesize)
        self.assertEqual('text/txt', comment_file1.mimetype)

        # Check content of testfile 2.
        self.assertEqual('testfile2.txt', comment_file2.filename)
        self.assertEqual('Test content2', comment_file2.file.file.read())
        self.assertEqual(len('Test content2'), comment_file2.filesize)
        self.assertEqual('text/txt', comment_file2.mimetype)

        # Check content of testfile 3.
        self.assertEqual('testfile3.txt', comment_file3.filename)
        self.assertEqual('Test content3', comment_file3.file.file.read())
        self.assertEqual(len('Test content3'), comment_file3.filesize)
        self.assertEqual('text/txt', comment_file3.mimetype)
コード例 #3
0
 def test_upload_single_file_content_visibility_examiners_and_admins(self):
     # Test the content of a CommentFile after upload.
     # Posting comment with visibility visible to examiners and admins
     testfeedbackset = group_mommy.feedbackset_first_attempt_unpublished()
     testexaminer = mommy.make('core.examiner',
                               assignmentgroup=testfeedbackset.group)
     temporary_filecollection = group_mommy.temporary_file_collection_with_tempfiles(
         file_list=[
             SimpleUploadedFile(name='testfile.txt',
                                content=b'Test content',
                                content_type='text/txt')
         ],
         user=testexaminer.relatedexaminer.user)
     self.mock_http302_postrequest(
         cradmin_role=testexaminer.assignmentgroup,
         requestuser=testexaminer.relatedexaminer.user,
         viewkwargs={'pk': testfeedbackset.group.id},
         requestkwargs={
             'data': {
                 'text': '',
                 'temporary_file_collection_id': temporary_filecollection.id
             }
         })
     self.assertEquals(1, group_models.GroupComment.objects.count())
     self.assertEqual(
         group_models.GroupComment.
         VISIBILITY_VISIBLE_TO_EXAMINER_AND_ADMINS,
         group_models.GroupComment.objects.all()[0].visibility)
     self.assertEquals(1, comment_models.CommentFile.objects.count())
     comment_file = comment_models.CommentFile.objects.all()[0]
     self.assertEqual('testfile.txt', comment_file.filename)
     self.assertEqual('Test content', comment_file.file.file.read())
     self.assertEqual(len('Test content'), comment_file.filesize)
     self.assertEqual('text/txt', comment_file.mimetype)
コード例 #4
0
 def test_upload_multiple_files_visibility_everyone(self):
     # Test the content of CommentFiles after upload.
     # Posting comment with visibility visible to everyone
     testfeedbackset = group_mommy.feedbackset_first_attempt_unpublished()
     testexaminer = mommy.make('core.examiner',
                               assignmentgroup=testfeedbackset.group)
     temporary_filecollection = group_mommy.temporary_file_collection_with_tempfiles(
         file_list=[
             SimpleUploadedFile(name='testfile1.txt',
                                content=b'Test content1',
                                content_type='text/txt'),
             SimpleUploadedFile(name='testfile2.txt',
                                content=b'Test content2',
                                content_type='text/txt'),
             SimpleUploadedFile(name='testfile3.txt',
                                content=b'Test content3',
                                content_type='text/txt')
         ],
         user=testexaminer.relatedexaminer.user)
     self.mock_http302_postrequest(
         cradmin_role=testexaminer.assignmentgroup,
         requestuser=testexaminer.relatedexaminer.user,
         viewkwargs={'pk': testfeedbackset.group.id},
         requestkwargs={
             'data': {
                 'text': '',
                 'temporary_file_collection_id': temporary_filecollection.id
             }
         })
     self.assertEquals(1, group_models.GroupComment.objects.count())
     self.assertEqual(
         group_models.GroupComment.VISIBILITY_VISIBLE_TO_EVERYONE,
         group_models.GroupComment.objects.all()[0].visibility)
     self.assertEquals(3, comment_models.CommentFile.objects.count())
コード例 #5
0
 def test_upload_files_and_comment_text(self):
     # Test the content of a CommentFile after upload.
     testfeedbackset = group_mommy.feedbackset_first_attempt_published()
     testexaminer = mommy.make('core.examiner',
                               assignmentgroup=testfeedbackset.group)
     temporary_filecollection = group_mommy.temporary_file_collection_with_tempfiles(
         file_list=[
             SimpleUploadedFile(name='testfile1.txt',
                                content=b'Test content1',
                                content_type='text/txt'),
             SimpleUploadedFile(name='testfile2.txt',
                                content=b'Test content2',
                                content_type='text/txt'),
         ],
         user=testexaminer.relatedexaminer.user)
     self.mock_http302_postrequest(
         cradmin_role=testexaminer.assignmentgroup,
         requestuser=testexaminer.relatedexaminer.user,
         viewkwargs={'pk': testfeedbackset.group.id},
         requestkwargs={
             'data': {
                 'text': 'Test comment',
                 'temporary_file_collection_id': temporary_filecollection.id
             }
         })
     self.assertEquals(2, comment_models.CommentFile.objects.count())
     self.assertEqual(1, group_models.GroupComment.objects.count())
     group_comments = group_models.GroupComment.objects.all()
     self.assertEquals('Test comment', group_comments[0].text)
コード例 #6
0
 def test_upload_multiple_files_visibility_examiners_and_admins(self):
     # Test the content of CommentFiles after upload.
     # Posting comment with visibility visible to everyone
     testgroup = mommy.make('core.AssignmentGroup',
                            parentnode__parentnode=mommy.make_recipe('devilry.apps.core.period_active'))
     testuser = mommy.make(settings.AUTH_USER_MODEL)
     temporary_filecollection = group_mommy.temporary_file_collection_with_tempfiles(
         file_list=[
             SimpleUploadedFile(name='testfile1.txt', content=b'Test content1', content_type='text/txt'),
             SimpleUploadedFile(name='testfile2.txt', content=b'Test content2', content_type='text/txt'),
             SimpleUploadedFile(name='testfile3.txt', content=b'Test content3', content_type='text/txt')
         ],
         user=testuser
     )
     self.mock_http302_postrequest(
         cradmin_role=testgroup,
         requestuser=testuser,
         viewkwargs={'pk': testgroup.id},
         requestkwargs={
             'data': {
                 'text': '',
                 'temporary_file_collection_id': temporary_filecollection.id
             }
         })
     self.assertEqual(1, group_models.GroupComment.objects.count())
     self.assertEqual(group_models.GroupComment.VISIBILITY_VISIBLE_TO_EXAMINER_AND_ADMINS,
                      group_models.GroupComment.objects.all()[0].visibility)
     self.assertEqual(3, comment_models.CommentFile.objects.count())
コード例 #7
0
 def test_upload_single_file_content_visibility_everyone(self):
     # Test the content of a CommentFile after upload.
     # Posting comment with visibility visible to everyone
     testfeedbackset = group_mommy.feedbackset_first_attempt_unpublished(
         group__parentnode__parentnode=mommy.make_recipe('devilry.apps.core.period_active'))
     testexaminer = mommy.make('core.examiner', assignmentgroup=testfeedbackset.group)
     temporary_filecollection = group_mommy.temporary_file_collection_with_tempfiles(
         file_list=[
             SimpleUploadedFile(name='testfile.txt', content=b'Test content', content_type='text/txt')
         ],
         user=testexaminer.relatedexaminer.user
     )
     self.mock_http302_postrequest(
         cradmin_role=testexaminer.assignmentgroup,
         requestuser=testexaminer.relatedexaminer.user,
         viewkwargs={'pk': testfeedbackset.group.id},
         requestkwargs={
             'data': {
                 'text': '',
                 'temporary_file_collection_id': temporary_filecollection.id
             }
         })
     self.assertEquals(1, comment_models.CommentFile.objects.count())
     comment_file = comment_models.CommentFile.objects.all()[0]
     group_comment = group_models.GroupComment.objects.get(id=comment_file.comment.id)
     self.assertEquals(group_comment.visibility, group_models.GroupComment.VISIBILITY_VISIBLE_TO_EVERYONE)
     self.assertEquals('testfile.txt', comment_file.filename)
     self.assertEquals('Test content', comment_file.file.file.read())
     self.assertEquals(len('Test content'), comment_file.filesize)
     self.assertEquals('text/txt', comment_file.mimetype)
コード例 #8
0
 def test_upload_single_file_content_visibility_everyone(self):
     # Test the content of a CommentFile after upload.
     # Posting comment with visibility visible to everyone
     testgroup = mommy.make('core.AssignmentGroup',
                            parentnode__parentnode=mommy.make_recipe('devilry.apps.core.period_active'))
     testuser = mommy.make(settings.AUTH_USER_MODEL)
     temporary_filecollection = group_mommy.temporary_file_collection_with_tempfiles(
         file_list=[
             SimpleUploadedFile(name='testfile.txt', content=b'Test content', content_type='text/txt')
         ],
         user=testuser
     )
     self.mock_http302_postrequest(
         cradmin_role=testgroup,
         requestuser=testuser,
         viewkwargs={'pk': testgroup.id},
         requestkwargs={
             'data': {
                 'text': '',
                 'temporary_file_collection_id': temporary_filecollection.id
             }
         })
     self.assertEqual(1, comment_models.CommentFile.objects.count())
     comment_file = comment_models.CommentFile.objects.all()[0]
     group_comment = group_models.GroupComment.objects.get(id=comment_file.comment.id)
     self.assertEqual(group_comment.visibility, group_models.GroupComment.VISIBILITY_VISIBLE_TO_EVERYONE)
     self.assertEqual('testfile.txt', comment_file.filename)
     self.assertEqual(b'Test content', comment_file.file.file.read())
     self.assertEqual(len( b'Test content'), comment_file.filesize)
     self.assertEqual('text/txt', comment_file.mimetype)
コード例 #9
0
 def test_upload_files_and_comment_text(self):
     # Test the content of a CommentFile after upload.
     testgroup = mommy.make('core.AssignmentGroup',
                            parentnode__parentnode=mommy.make_recipe('devilry.apps.core.period_active'))
     testuser = mommy.make(settings.AUTH_USER_MODEL)
     temporary_filecollection = group_mommy.temporary_file_collection_with_tempfiles(
         file_list=[
             SimpleUploadedFile(name='testfile1.txt', content=b'Test content1', content_type='text/txt'),
             SimpleUploadedFile(name='testfile2.txt', content=b'Test content2', content_type='text/txt'),
         ],
         user=testuser
     )
     self.mock_http302_postrequest(
         cradmin_role=testgroup,
         requestuser=testuser,
         viewkwargs={'pk': testgroup.id},
         requestkwargs={
             'data': {
                 'text': 'Test comment',
                 'temporary_file_collection_id': temporary_filecollection.id
             }
         })
     self.assertEqual(2, comment_models.CommentFile.objects.count())
     self.assertEqual(1, group_models.GroupComment.objects.count())
     group_comments = group_models.GroupComment.objects.all()
     self.assertEqual('Test comment', group_comments[0].text)
コード例 #10
0
 def test_upload_multiple_files_visibility_everyone(self):
     # Test the content of CommentFiles after upload.
     # Posting comment with visibility visible to everyone
     testfeedbackset = group_mommy.feedbackset_first_attempt_unpublished(
         group__parentnode__parentnode=mommy.make_recipe('devilry.apps.core.period_active'))
     testexaminer = mommy.make('core.examiner', assignmentgroup=testfeedbackset.group)
     temporary_filecollection = group_mommy.temporary_file_collection_with_tempfiles(
         file_list=[
             SimpleUploadedFile(name='testfile1.txt', content=b'Test content1', content_type='text/txt'),
             SimpleUploadedFile(name='testfile2.txt', content=b'Test content2', content_type='text/txt'),
             SimpleUploadedFile(name='testfile3.txt', content=b'Test content3', content_type='text/txt')
         ],
         user=testexaminer.relatedexaminer.user
     )
     self.mock_http302_postrequest(
         cradmin_role=testexaminer.assignmentgroup,
         requestuser=testexaminer.relatedexaminer.user,
         viewkwargs={'pk': testfeedbackset.group.id},
         requestkwargs={
             'data': {
                 'text': '',
                 'temporary_file_collection_id': temporary_filecollection.id
             }
         })
     self.assertEqual(1, group_models.GroupComment.objects.count())
     self.assertEqual(group_models.GroupComment.VISIBILITY_VISIBLE_TO_EVERYONE,
                      group_models.GroupComment.objects.all()[0].visibility)
     self.assertEqual(3, comment_models.CommentFile.objects.count())
コード例 #11
0
 def test_upload_files_draft(self):
     # Test the content of a CommentFile after upload.
     testassignment = mommy.make_recipe('devilry.apps.core.assignment_activeperiod_start',
                                        grading_system_plugin_id=core_models.Assignment
                                        .GRADING_SYSTEM_PLUGIN_ID_PASSEDFAILED)
     testfeedbackset = group_mommy.feedbackset_first_attempt_unpublished(group__parentnode=testassignment)
     testexaminer = mommy.make('core.examiner', assignmentgroup=testfeedbackset.group)
     temporary_filecollection = group_mommy.temporary_file_collection_with_tempfiles(
         file_list=[
             SimpleUploadedFile(name='testfile1.txt', content=b'Test content1', content_type='text/txt'),
             SimpleUploadedFile(name='testfile2.txt', content=b'Test content2', content_type='text/txt')
         ],
         user=testexaminer.relatedexaminer.user
     )
     self.mock_http302_postrequest(
         cradmin_role=testexaminer.assignmentgroup,
         requestuser=testexaminer.relatedexaminer.user,
         viewkwargs={'pk': testfeedbackset.group.id},
         requestkwargs={
             'data': {
                 'passed': 'Passed',
                 'text': '',
                 'examiner_add_comment_to_feedback_draft': 'unused value',
                 'temporary_file_collection_id': temporary_filecollection.id
             }
         })
     self.assertEqual(2, comment_models.CommentFile.objects.count())
     self.assertEqual(1, group_models.GroupComment.objects.count())
     self.assertIsNone(group_models.FeedbackSet.objects.get(id=testfeedbackset.id).grading_published_datetime)
コード例 #12
0
 def test_upload_single_file_content_visibility_everyone(self):
     # Test the content of a CommentFile after upload.
     # Posting comment with visibility visible to everyone
     testgroup = mommy.make('core.AssignmentGroup')
     testuser = mommy.make(settings.AUTH_USER_MODEL)
     temporary_filecollection = group_mommy.temporary_file_collection_with_tempfiles(
         file_list=[
             SimpleUploadedFile(name='testfile.txt',
                                content=b'Test content',
                                content_type='text/txt')
         ],
         user=testuser)
     self.mock_http302_postrequest(cradmin_role=testgroup,
                                   requestuser=testuser,
                                   viewkwargs={'pk': testgroup.id},
                                   requestkwargs={
                                       'data': {
                                           'text':
                                           '',
                                           'temporary_file_collection_id':
                                           temporary_filecollection.id
                                       }
                                   })
     self.assertEquals(1, comment_models.CommentFile.objects.count())
     comment_file = comment_models.CommentFile.objects.all()[0]
     group_comment = group_models.GroupComment.objects.get(
         id=comment_file.comment.id)
     self.assertEquals(
         group_comment.visibility,
         group_models.GroupComment.VISIBILITY_VISIBLE_TO_EVERYONE)
     self.assertEquals('testfile.txt', comment_file.filename)
     self.assertEquals('Test content', comment_file.file.file.read())
     self.assertEquals(len('Test content'), comment_file.filesize)
     self.assertEquals('text/txt', comment_file.mimetype)
コード例 #13
0
 def test_upload_multiple_files_visibility_examiners_and_admins(self):
     # Test the content of CommentFiles after upload.
     # Posting comment with visibility visible to everyone
     testgroup = mommy.make('core.AssignmentGroup')
     testuser = mommy.make(settings.AUTH_USER_MODEL)
     temporary_filecollection = group_mommy.temporary_file_collection_with_tempfiles(
         file_list=[
             SimpleUploadedFile(name='testfile1.txt',
                                content=b'Test content1',
                                content_type='text/txt'),
             SimpleUploadedFile(name='testfile2.txt',
                                content=b'Test content2',
                                content_type='text/txt'),
             SimpleUploadedFile(name='testfile3.txt',
                                content=b'Test content3',
                                content_type='text/txt')
         ],
         user=testuser)
     self.mock_http302_postrequest(cradmin_role=testgroup,
                                   requestuser=testuser,
                                   viewkwargs={'pk': testgroup.id},
                                   requestkwargs={
                                       'data': {
                                           'text':
                                           '',
                                           'temporary_file_collection_id':
                                           temporary_filecollection.id
                                       }
                                   })
     self.assertEquals(1, group_models.GroupComment.objects.count())
     self.assertEqual(
         group_models.GroupComment.
         VISIBILITY_VISIBLE_TO_EXAMINER_AND_ADMINS,
         group_models.GroupComment.objects.all()[0].visibility)
     self.assertEquals(3, comment_models.CommentFile.objects.count())
コード例 #14
0
 def test_upload_files_and_comment_text(self):
     # Test the content of a CommentFile after upload.
     testgroup = mommy.make('core.AssignmentGroup')
     testuser = mommy.make(settings.AUTH_USER_MODEL)
     temporary_filecollection = group_mommy.temporary_file_collection_with_tempfiles(
         file_list=[
             SimpleUploadedFile(name='testfile1.txt',
                                content=b'Test content1',
                                content_type='text/txt'),
             SimpleUploadedFile(name='testfile2.txt',
                                content=b'Test content2',
                                content_type='text/txt'),
         ],
         user=testuser)
     self.mock_http302_postrequest(cradmin_role=testgroup,
                                   requestuser=testuser,
                                   viewkwargs={'pk': testgroup.id},
                                   requestkwargs={
                                       'data': {
                                           'text':
                                           'Test comment',
                                           'temporary_file_collection_id':
                                           temporary_filecollection.id
                                       }
                                   })
     self.assertEquals(2, comment_models.CommentFile.objects.count())
     self.assertEqual(1, group_models.GroupComment.objects.count())
     group_comments = group_models.GroupComment.objects.all()
     self.assertEquals('Test comment', group_comments[0].text)
コード例 #15
0
    def test_upload_multiple_files_contents_visibility_everyone(self):
        # Test the content of a CommentFile after upload.
        testgroup = mommy.make('core.AssignmentGroup',
                               parentnode__parentnode=mommy.make_recipe(
                                   'devilry.apps.core.period_active'))
        testuser = mommy.make(settings.AUTH_USER_MODEL)
        temporary_filecollection = group_mommy.temporary_file_collection_with_tempfiles(
            file_list=[
                SimpleUploadedFile(name='testfile1.txt',
                                   content=b'Test content1',
                                   content_type='text/txt'),
                SimpleUploadedFile(name='testfile2.txt',
                                   content=b'Test content2',
                                   content_type='text/txt'),
                SimpleUploadedFile(name='testfile3.txt',
                                   content=b'Test content3',
                                   content_type='text/txt')
            ],
            user=testuser)
        self.mock_http302_postrequest(cradmin_role=testgroup,
                                      requestuser=testuser,
                                      viewkwargs={'pk': testgroup.id},
                                      requestkwargs={
                                          'data': {
                                              'text':
                                              '',
                                              'temporary_file_collection_id':
                                              temporary_filecollection.id
                                          }
                                      })
        self.assertEquals(1, group_models.GroupComment.objects.count())
        self.assertEqual(
            group_models.GroupComment.VISIBILITY_VISIBLE_TO_EVERYONE,
            group_models.GroupComment.objects.all()[0].visibility)
        self.assertEquals(3, comment_models.CommentFile.objects.count())
        comment_file1 = comment_models.CommentFile.objects.get(
            filename='testfile1.txt')
        comment_file2 = comment_models.CommentFile.objects.get(
            filename='testfile2.txt')
        comment_file3 = comment_models.CommentFile.objects.get(
            filename='testfile3.txt')

        # Check content of testfile 1.
        self.assertEqual('testfile1.txt', comment_file1.filename)
        self.assertEqual('Test content1', comment_file1.file.file.read())
        self.assertEqual(len('Test content1'), comment_file1.filesize)
        self.assertEqual('text/txt', comment_file1.mimetype)

        # Check content of testfile 2.
        self.assertEqual('testfile2.txt', comment_file2.filename)
        self.assertEqual('Test content2', comment_file2.file.file.read())
        self.assertEqual(len('Test content2'), comment_file2.filesize)
        self.assertEqual('text/txt', comment_file2.mimetype)

        # Check content of testfile 3.
        self.assertEqual('testfile3.txt', comment_file3.filename)
        self.assertEqual('Test content3', comment_file3.file.file.read())
        self.assertEqual(len('Test content3'), comment_file3.filesize)
        self.assertEqual('text/txt', comment_file3.mimetype)
コード例 #16
0
 def test_upload_files_draft(self):
     # Test the content of a CommentFile after upload.
     testassignment = mommy.make_recipe(
         'devilry.apps.core.assignment_activeperiod_start',
         grading_system_plugin_id=core_models.Assignment.
         GRADING_SYSTEM_PLUGIN_ID_PASSEDFAILED)
     testfeedbackset = group_mommy.feedbackset_first_attempt_unpublished(
         group__parentnode=testassignment)
     testexaminer = mommy.make('core.examiner',
                               assignmentgroup=testfeedbackset.group)
     temporary_filecollection = group_mommy.temporary_file_collection_with_tempfiles(
         file_list=[
             SimpleUploadedFile(name='testfile1.txt',
                                content=b'Test content1',
                                content_type='text/txt'),
             SimpleUploadedFile(name='testfile2.txt',
                                content=b'Test content2',
                                content_type='text/txt')
         ],
         user=testexaminer.relatedexaminer.user)
     self.mock_http302_postrequest(
         cradmin_role=testexaminer.assignmentgroup,
         requestuser=testexaminer.relatedexaminer.user,
         viewkwargs={'pk': testfeedbackset.group.id},
         requestkwargs={
             'data': {
                 'passed': 'Passed',
                 'text': '',
                 'examiner_add_comment_to_feedback_draft': 'unused value',
                 'temporary_file_collection_id': temporary_filecollection.id
             }
         })
     self.assertEquals(2, comment_models.CommentFile.objects.count())
     self.assertEqual(1, group_models.GroupComment.objects.count())
     self.assertIsNone(
         group_models.FeedbackSet.objects.get(
             id=testfeedbackset.id).grading_published_datetime)
コード例 #17
0
 def test_upload_single_file_content_visibility_examiners_and_admins(self):
     # Test the content of a CommentFile after upload.
     # Posting comment with visibility visible to examiners and admins
     testgroup = mommy.make('core.AssignmentGroup',
                            parentnode__parentnode=mommy.make_recipe(
                                'devilry.apps.core.period_active'))
     testuser = mommy.make(settings.AUTH_USER_MODEL)
     temporary_filecollection = group_mommy.temporary_file_collection_with_tempfiles(
         file_list=[
             SimpleUploadedFile(name='testfile.txt',
                                content=b'Test content',
                                content_type='text/txt')
         ],
         user=testuser)
     self.mock_http302_postrequest(cradmin_role=testgroup,
                                   requestuser=testuser,
                                   viewkwargs={'pk': testgroup.id},
                                   requestkwargs={
                                       'data': {
                                           'text':
                                           '',
                                           'temporary_file_collection_id':
                                           temporary_filecollection.id
                                       }
                                   })
     self.assertEquals(1, group_models.GroupComment.objects.count())
     self.assertEqual(
         group_models.GroupComment.
         VISIBILITY_VISIBLE_TO_EXAMINER_AND_ADMINS,
         group_models.GroupComment.objects.all()[0].visibility)
     self.assertEquals(1, comment_models.CommentFile.objects.count())
     comment_file = comment_models.CommentFile.objects.all()[0]
     self.assertEqual('testfile.txt', comment_file.filename)
     self.assertEqual('Test content', comment_file.file.file.read())
     self.assertEqual(len('Test content'), comment_file.filesize)
     self.assertEqual('text/txt', comment_file.mimetype)