Untitled
unknown
python
4 years ago
3.7 kB
11
Indexable
import shutil import tempfile from django.contrib.auth import get_user_model from django.core.files.uploadedfile import SimpleUploadedFile from django.test import TestCase, Client from django.urls import reverse from posts.models import Group, Post from yatube import settings User = get_user_model() class PostCreateFormTests(TestCase): @classmethod def setUpClass(cls): super().setUpClass() settings.MEDIA_ROOT = tempfile.mkdtemp(dir=settings.BASE_DIR) print(settings.MEDIA_ROOT) cls.user = User.objects.create_user(username='testUser') cls.group = Group.objects.create( title='Тестовая группа', slug='test-slug', description='Тестовое описание группы' ) cls.group2 = Group.objects.create( title='Тестовая группа2', slug='test-slug-2', description='Тестовое описание группы 2' ) cls.post = Post.objects.create( text='тестовый текст тестовой записи', author=cls.user, group=cls.group, ) @classmethod def tearDownClass(cls): super().tearDownClass() shutil.rmtree(settings.MEDIA_ROOT, ignore_errors=True) def setUp(self): self.authorized_client = Client() self.authorized_client.force_login(self.user) self.new_text = 'M-test' self.edit_text = 'измененный тестовый текст' self.small_gif = ( b'\x47\x49\x46\x38\x39\x61\x02\x00' b'\x01\x00\x80\x00\x00\x00\x00\x00' b'\xFF\xFF\xFF\x21\xF9\x04\x00\x00' b'\x00\x00\x00\x2C\x00\x00\x00\x00' b'\x02\x00\x01\x00\x00\x02\x02\x0C' b'\x0A\x00\x3B' ) self.image_for_new_post = SimpleUploadedFile( name='test_image_new.gif', content=self.small_gif, content_type='image/gif' ) self.image_new_address = 'posts/test_image_new.gif' self.image_for_edit_post = SimpleUploadedFile( name='test_image_edit.gif', content=self.small_gif, content_type='image/gif' ) self.image_edit_address = 'posts/test_image_edit.gif' def test_create_post(self): posts_count = Post.objects.count() form_fields = { 'group': self.group.pk, 'text': self.new_text, 'image': self.image_for_new_post } self.authorized_client.post(reverse('new_post'), form_fields) self.assertEqual(Post.objects.count(), posts_count + 1) new_post = Post.objects.filter( text=self.new_text, group=self.group, image=self.image_new_address, ).exists() print(f'new_post {Post.objects.get(text=self.new_text).image}') self.assertTrue(new_post) def test_edit_post(self): form_fields = { 'group': self.group2.pk, 'text': self.edit_text, 'image': self.image_for_edit_post } self.authorized_client.post( reverse( 'post_edit', kwargs={'username': self.user.username, 'post_id': 1} ), form_fields ) edited_post = Post.objects.filter( text=self.edit_text, group=self.group2, image=self.image_edit_address, ).exists() print(f'edited_post {Post.objects.get(text=self.edit_text).image}') self.assertTrue(edited_post)
Editor is loading...