Skip to content

Instantly share code, notes, and snippets.

@markng
Created March 28, 2022 14:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save markng/19f2d7861a0df0a2b4849037fe0c0e07 to your computer and use it in GitHub Desktop.
Save markng/19f2d7861a0df0a2b4849037fe0c0e07 to your computer and use it in GitHub Desktop.
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