def test_many_to_many(self): work = factories.AbstractCreativeWorkFactory() for i in range(10): factories.ThroughTagsFactory(creative_work=work, tag=factories.TagFactory(name=str(i))) for model, (count, version_count) in { models.AbstractCreativeWork: (1, 1), models.ThroughTags: (10, 10), models.Tag: (10, 10), }.items(): assert model.objects.exclude(id=None).count() == count assert model.VersionModel.objects.exclude( id=None).count() == version_count work.delete() for model, (count, version_count) in { models.AbstractCreativeWork: (0, 0), models.ThroughTags: (0, 0), models.Tag: (10, 10), }.items(): assert model.objects.exclude(id=None).count() == count assert model.VersionModel.objects.exclude( id=None).count() == version_count
def test_change_diff(self, graph): tag = factories.TagFactory(name='tag1') assert graph.create(IDObfuscator.encode(tag), 'tag', { 'name': 'tag2' }).change == { 'name': 'tag2' }
def test_many_to_many_inverse(self): for i in range(10): factories.ThroughTagsFactory(tag=factories.TagFactory(name=str(i))) for model, (count, version_count) in { models.AbstractCreativeWork: (10, 10), models.ThroughTags: (10, 10), models.Tag: (10, 10), }.items(): assert model.objects.count() == count assert model.VersionModel.objects.count() == version_count models.ThroughTags.objects.all().delete() for model, (count, version_count) in { models.AbstractCreativeWork: (10, 10), models.ThroughTags: (0, 0), models.Tag: (10, 10), }.items(): assert model.objects.count() == count assert model.VersionModel.objects.count() == version_count
def test_change_no_diff(self, graph): tag = factories.TagFactory() assert graph.create(IDObfuscator.encode(tag), 'tag', {'name': tag.name}).change == {}
def test_load_instance(self, graph): tag = factories.TagFactory() assert graph.create(IDObfuscator.encode(tag), 'tag', {}).instance == tag