diff --git a/storage/api.py b/storage/api.py index 81ea7fa..fad4248 100644 --- a/storage/api.py +++ b/storage/api.py @@ -17,13 +17,14 @@ def upload_file(original=None, name=None, base64=None) -> File: return new_file -def add_comment(text: str, email: str, files=[]) -> Comment: +def add_comment(text: str, email: str, files=None) -> Comment: """ :param text: sting :param email: string :param files: {name?: string, original?: File, base64?: string}[] одно из двух последних свойств должно быть указано :return: Comment """ + files = files if files else [] key = ''.join(random.choice(string.ascii_letters) for _x in range(15)) comment = Comment.objects.create( text=text, diff --git a/storage/tests.py b/storage/tests.py index 6b886ea..70a47d3 100644 --- a/storage/tests.py +++ b/storage/tests.py @@ -1,3 +1,5 @@ +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 @@ -6,10 +8,14 @@ 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)) @@ -22,12 +28,13 @@ class CommentTestCase(TestCase): token = 'fskjfskj' comment1 = add_comment(text=token, email="artem4000@gmail.com") self.assertEqual(comment1.text, token) - file_for_upload = SimpleUploadedFile('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) + 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)