More user serialization tests

This commit is contained in:
Mouse Reeve 2020-12-12 15:00:20 -08:00
parent eb28708230
commit 49979fabef
3 changed files with 21 additions and 1 deletions

View file

@ -190,6 +190,7 @@ class KeyPair(ActivitypubMixin, BookWyrmModel):
@receiver(models.signals.post_save, sender=User) @receiver(models.signals.post_save, sender=User)
#pylint: disable=unused-argument
def execute_after_save(sender, instance, created, *args, **kwargs): def execute_after_save(sender, instance, created, *args, **kwargs):
''' create shelves for new users ''' ''' create shelves for new users '''
if not created: if not created:

View file

@ -1,8 +1,10 @@
# pylint: disable=missing-module-docstring, missing-class-docstring, missing-function-docstring
import json import json
import pathlib import pathlib
from unittest.mock import patch
from django.test import TestCase from django.test import TestCase
from bookwyrm import activitypub from bookwyrm import activitypub, models
class Person(TestCase): class Person(TestCase):
@ -18,3 +20,12 @@ class Person(TestCase):
self.assertEqual(activity.id, 'https://example.com/user/mouse') self.assertEqual(activity.id, 'https://example.com/user/mouse')
self.assertEqual(activity.preferredUsername, 'mouse') self.assertEqual(activity.preferredUsername, 'mouse')
self.assertEqual(activity.type, 'Person') self.assertEqual(activity.type, 'Person')
def test_user_to_model(self):
activity = activitypub.Person(**self.user_data)
with patch('bookwyrm.models.user.set_remote_server.delay'):
user = activity.to_model(models.User)
self.assertEqual(user.username, 'mouse@example.com')
self.assertEqual(user.remote_id, 'https://example.com/user/mouse')
self.assertFalse(user.local)

View file

@ -1,4 +1,5 @@
''' testing models ''' ''' testing models '''
from unittest.mock import patch
from django.test import TestCase from django.test import TestCase
from bookwyrm import models from bookwyrm import models
@ -22,6 +23,13 @@ class User(TestCase):
self.assertIsNotNone(self.user.key_pair.private_key) self.assertIsNotNone(self.user.key_pair.private_key)
self.assertIsNotNone(self.user.key_pair.public_key) self.assertIsNotNone(self.user.key_pair.public_key)
def test_remote_user(self):
with patch('bookwyrm.models.user.set_remote_server.delay'):
user = models.User.objects.create_user(
'rat', 'rat@rat.rat', 'ratword', local=False,
remote_id='https://example.com/dfjkg')
self.assertEqual(user.username, 'rat@example.com')
def test_user_shelves(self): def test_user_shelves(self):
shelves = models.Shelf.objects.filter(user=self.user).all() shelves = models.Shelf.objects.filter(user=self.user).all()