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'])
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)