Created
March 28, 2022 14:35
-
-
Save markng/19f2d7861a0df0a2b4849037fe0c0e07 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import datetime | |
import factory.django | |
import pytest | |
from freezegun import freeze_time | |
from django.contrib.auth.models import User | |
from forum.models import Topic | |
class UserFactory(factory.django.DjangoModelFactory): | |
class Meta: | |
model = User | |
email = factory.Faker('email') | |
username = factory.Faker('user_name') | |
class TopicFactory(factory.django.DjangoModelFactory): | |
class Meta: | |
model = Topic | |
title = factory.Faker('sentence') | |
created_by = factory.SubFactory(UserFactory) | |
@pytest.mark.django_db | |
def describe_topic(): | |
def exists(): | |
TopicFactory() | |
@freeze_time(datetime.datetime.now()) | |
def saves_its_fields(): | |
topic = TopicFactory() | |
sut = Topic.objects.get(pk=topic.id) | |
assert sut.title == topic.title | |
assert sut.created_by == topic.created_by | |
assert sut.created_at == datetime.datetime.now(datetime.timezone.utc) | |
def is_registered_in_the_django_admin(): | |
from django.contrib.admin.sites import site as admin_site | |
assert admin_site.is_registered(Topic) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment