예제 #1
0
파일: tests.py 프로젝트: sirrah23/TFManager
    def test_file_grab_previous_version(self):
        # GIVEN
        # ======
        # Create a new folder
        test_folder = FolderRepo.create_folder(self.user.id, 'folder1')
        self.assertIsNotNone(test_folder)
        # Create a new file
        test_file = FileRepo.create_file(self.user.id, test_folder['id'],
                                         'test.txt', 'Hello World')

        # WHEN
        # ====
        # Publish multiple new versions of the file
        f1 = FileRepo.publish_new_version(self.user.id, test_file['id'],
                                          'Bye World1')
        f2 = FileRepo.publish_new_version(self.user.id, test_file['id'],
                                          'Bye World2')
        f3 = FileRepo.publish_new_version(self.user.id, test_file['id'],
                                          'Bye World3')

        # THEN
        # ====
        # Make sure specific versions can be grabbed
        db_file = FileRepo.get_file_by_version(self.user.id, test_file['id'],
                                               f1['version'])
        self.assertEqual(db_file['content_text'], f1['content_text'])
        self.assertEqual(db_file['version'], f1['version'])
        db_file = FileRepo.get_file_by_version(self.user.id, test_file['id'],
                                               f2['version'])
        self.assertEqual(db_file['content_text'], f2['content_text'])
        self.assertEqual(db_file['version'], f2['version'])
        db_file = FileRepo.get_file_by_version(self.user.id, test_file['id'],
                                               f3['version'])
        self.assertEqual(db_file['content_text'], f3['content_text'])
        self.assertEqual(db_file['version'], f3['version'])
예제 #2
0
파일: views.py 프로젝트: sirrah23/TFManager
def file_ver(request, file_id, version_num):
    context = {}

    current_user = request.user
    if not current_user:
        return render('login')

    file_info = FileRepo.get_file_by_version(
        current_user.id, file_id, version_num)
    if not file_info:
        return redirect('index')

    context['id'] = file_info['id']
    context['name'] = file_info['name']
    context['content'] = file_info['content_text']
    return render(request, 'app/file.html', context)