chapeau/tests/tests_unit.py

152 wiersze
3.5 KiB
Python
Czysty Zwykły widok Historia

from django.test import TestCase, Client
2018-08-20 19:14:49 +00:00
from django_kepi.models import Create, Like, Update, Delete, lookup
2018-08-19 20:47:54 +00:00
from things_for_testing.models import ThingUser, ThingArticle
2018-08-20 19:14:49 +00:00
import datetime
2018-08-06 13:44:35 +00:00
class UserTests(TestCase):
2018-08-19 20:47:54 +00:00
def test_create(self):
2018-08-11 22:36:59 +00:00
2018-08-19 03:11:44 +00:00
actor = ThingUser(
2018-08-19 20:47:54 +00:00
name='Dijkstra',
2018-08-19 03:11:44 +00:00
)
actor.save()
2018-08-12 13:06:26 +00:00
2018-08-19 20:47:54 +00:00
article = ThingArticle(
title='Go To statement considered harmful',
)
article.save()
2018-08-20 19:14:49 +00:00
create = Create(
2018-08-19 20:47:54 +00:00
actor=actor,
fobject=article,
)
2018-08-20 19:14:49 +00:00
create.save()
serialized = create.serialize()
for field in [
'id', 'type',
'object', 'actor',
'published', 'updated',
]:
self.assertIn(field, serialized)
self.assertIsInstance(
serialized['id'],
str)
self.assertEqual(
serialized['type'],
'Create')
self.assertDictEqual(
serialized['object'],
article.serialize(),
)
self.assertEqual(
serialized['actor'],
'https://example.com/user/Dijkstra')
self.assertIsInstance(
serialized['published'],
datetime.datetime,
)
self.assertIsInstance(
serialized['updated'],
datetime.datetime,
)
2018-08-19 20:47:54 +00:00
2018-08-20 19:14:49 +00:00
looked_up = lookup('create', create.slug)
self.assertEqual(
looked_up,
create,
)
2018-08-19 20:47:54 +00:00
def test_update(self):
actor = ThingUser(
name='Dijkstra',
)
actor.save()
article = ThingArticle(
title='Go To statement considered harmful',
)
article.save()
2018-08-20 19:14:49 +00:00
create = Create(
2018-08-19 20:47:54 +00:00
actor=actor,
fobject=article,
)
2018-08-20 19:14:49 +00:00
create.save()
2018-08-19 20:47:54 +00:00
article2 = ThingArticle(
title='Actually I rather like spaghetti code',
)
article2.save()
2018-08-20 19:14:49 +00:00
update = Update(
2018-08-19 20:47:54 +00:00
actor=actor,
fobject=article2,
)
2018-08-20 19:14:49 +00:00
update.save()
2018-08-19 20:47:54 +00:00
def test_delete(self):
actor = ThingUser(
name='Dijkstra',
)
actor.save()
article = ThingArticle(
title='Go To statement considered harmful',
)
article.save()
2018-08-20 19:14:49 +00:00
create = Create(
2018-08-19 03:11:44 +00:00
actor=actor,
2018-08-19 20:47:54 +00:00
fobject=article,
2018-08-19 03:11:44 +00:00
)
2018-08-20 19:14:49 +00:00
create.save()
2018-08-19 03:11:44 +00:00
2018-08-20 19:14:49 +00:00
delete = Delete(
2018-08-19 20:47:54 +00:00
actor=actor,
fobject=article,
)
delete.save()
# fetch by object ID (we can't do this atm) will get Tombstone
#raise ValueError(str(activity.serialize()))
def test_like(self):
liker = ThingUser(
name='Uncle Bulgaria',
)
liker.save()
author = ThingUser(
name='Dijkstra',
)
author.save()
article = ThingArticle(
title='Go To statement considered harmful',
)
article.save()
create = Create(
actor=author,
fobject=article,
)
create.save()
like = Like(
actor=liker,
fobject=article,
)
like.save()
2018-08-20 19:14:49 +00:00
#raise ValueError(like.serialize_as_str())