def test_published(): today = timezone.now() ArticleFactory.create(title="first", date=today, publish=True) ArticleFactory.create(title="second", date=today, publish=False) queryset = Article.objects.published() assert queryset.count() == 1 assert queryset.first().title == "first"
def test_m2m_merge_with_audit_trail(self): primary_object = ArticleFactory.create(reporter=None) related_object = ReporterFactory.create() alias_object = ArticleFactory.create(number_of_publications=3, reporter=related_object) related_objects = set(alias_object.publications.all()) _, audit_trail = MergedModelInstance.create_with_audit_trail( primary_object, [alias_object]) assert set(audit_trail) == related_objects
def test_merge_model_with_m2m_relationship(self): primary_object = ArticleFactory.create(reporter=None) related_object = ReporterFactory.create() alias_object = ArticleFactory.create(number_of_publications=3, reporter=related_object) assert primary_object.reporter is None assert primary_object.publications.count() == 0 merged_object = MergedModelInstance.create(primary_object, [alias_object]) assert merged_object.reporter == related_object assert merged_object.publications.count() == 3
def test_digest_for_date(faker): today = timezone.now() ArticleFactory.create(date=today - dt.timedelta(days=1)), ArticleFactory.create(date=today), ArticleFactory.create(date=today + dt.timedelta(days=1)), digest_for_date(today)
def test_for_date(): today = timezone.now() ArticleFactory.create(title="first", date=today - dt.timedelta(days=1)) ArticleFactory.create(title="second", date=today) ArticleFactory.create(title="first", date=today + dt.timedelta(days=1)) queryset = Article.objects.for_date(today) assert queryset.count() == 1 assert queryset.first().title == "second"
def test_merge_different_models(self): primary_object = ArticleFactory.create() alias_object = ReporterFactory.create() with pytest.raises(TypeError): MergedModelInstance.create(primary_object, [alias_object])