Advertisement
Guest User

factory

a guest
Jan 21st, 2020
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.06 KB | None | 0 0
  1. import factory
  2.  
  3. from .models import *
  4.  
  5.  
  6. class UserFacTory(factory.DjangoModelFactory):
  7. class Meta:
  8. model = User
  9.  
  10. username = factory.Sequence(lambda n: 'user{0}'.format(n))
  11.  
  12.  
  13. class ChatFactory(factory.DjangoModelFactory):
  14. class Meta:
  15. model = BaseChanel
  16.  
  17. name_chanel = factory.Sequence(lambda n: 'chanel{0}'.format(n))
  18.  
  19. # creat_time = factory.LazyAttribute(lambda o: datetime.datetime.now)
  20. creat_time = factory.LazyFunction(timezone.now)
  21.  
  22. author = factory.SubFactory(UserFacTory)
  23.  
  24. # users_chanel = factory.SubFactory(User)
  25.  
  26.  
  27. class MessageChatFactory(factory.DjangoModelFactory):
  28. class Meta:
  29. model = MessageChat
  30.  
  31. chat = factory.SubFactory(ChatFactory)
  32. author_message = factory.SubFactory(UserFacTory)
  33. message = 'message'
  34. created_message = factory.LazyFunction(timezone.now)
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41. from django.test import TestCase
  42.  
  43. import pytest
  44.  
  45. from chat.factories import ChatFactory, MessageChatFactory, timezone, datetime
  46.  
  47.  
  48. @pytest.mark.django_db
  49. class TestChatFactory(TestCase):
  50.  
  51. # def setUp(self):
  52.  
  53. # self.chat = ChatFactory.create(username='user0')
  54.  
  55. def test_basechanel_name(self):
  56. chat1 = ChatFactory()
  57. self.assertEqual(chat1.name_chanel, 'chanel0')
  58. self.assertEqual(chat1.author.username, 'user0')
  59. # self.assertEqual(chat1.creat_time, timezone.now()) #какой то непонятный рассинхрон времени
  60.  
  61. # ChatFactory.create()
  62. # self.assertEqual(BaseChanel.objects.count(),1)
  63. # self.assertFalse(BaseChanel.objects.exists())
  64. # assert ChatFactory.exists()
  65.  
  66.  
  67. class Test_Message_Factory(TestCase):
  68.  
  69. def test_message_chat_factory(self):
  70. messag1 = MessageChatFactory()
  71. self.assertEqual(messag1.chat.name_chanel, 'chanel1')
  72. self.assertEqual(messag1.message, 'message')
  73. self.assertEqual(messag1.author_message.username, 'user2')
  74. self.assertEqual(messag1.created_message, timezone.now()) # этот работает правильно
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement