import tempfile from django.test import TestCase from storage.api import add_comment, delete_comment, update_comment, get_comment from django.core.files.uploadedfile import SimpleUploadedFile from storage.models import Comment class CommentTestCase(TestCase): def setUp(self): self.first_comment = add_comment("first comment", "vasia@rambler.ru") self.second_comment = add_comment(text="Привет, отличная работа", email="artem4000@gmail.com") def tearDown(self): Comment.objects.all().delete() def test_comment_get(self): self.assertEqual(self.first_comment, get_comment(self.first_comment.key)) def test_comment_update(self): new_text = "Новый текст для коммента" update_comment(key=self.first_comment.key, text=new_text) self.assertEqual(get_comment(self.first_comment.key).text, new_text) def test_comment_create(self): token = 'fskjfskj' comment1 = add_comment(text=token, email="artem4000@gmail.com") self.assertEqual(comment1.text, token) with tempfile.gettempdir() as dir_path: file_for_upload = SimpleUploadedFile(dir_path + '/1.txt', 'Я файл!'.encode('utf-8')) file_name = 'Клёвый файл' object_for_upload = {'original': file_for_upload, 'name': file_name} comment2 = add_comment(text=token, email="artem4000@gmail.com", files=[object_for_upload]) self.assertEqual(comment2.files.count(), 1) self.assertEqual(comment2.files.all()[0].name, file_name) def test_comment_delete(self): delete_comment(self.first_comment.key) try: comment = get_comment(self.first_comment.id) except Comment.DoesNotExist: comment = None self.assertIsNone(comment)