lib.itmens/social/tests.py

55 lines
2.4 KiB
Python
Raw Normal View History

2022-12-13 06:44:29 +00:00
from django.test import TestCase
from catalog.models import *
from journal.models import *
from .models import *
from users.models import User
class SocialTest(TestCase):
def setUp(self):
self.book1 = Edition.objects.create(title="Hyperion")
self.book2 = Edition.objects.create(title="Andymion")
2022-12-13 18:12:43 +00:00
self.movie = Edition.objects.create(title="Fight Club")
2022-12-13 06:44:29 +00:00
self.alice = User.objects.create(mastodon_site="MySpace", username="Alice")
2022-12-13 18:12:43 +00:00
self.alice.shelf_manager.initialize()
2022-12-13 06:44:29 +00:00
self.bob = User.objects.create(mastodon_site="KKCity", username="Bob")
2022-12-13 18:12:43 +00:00
self.bob.shelf_manager.initialize()
2022-12-13 06:44:29 +00:00
def test_timeline(self):
2022-12-13 18:12:43 +00:00
# alice see 0 activity in timeline in the beginning
timeline = self.alice.activity_manager.get_viewable_activities()
self.assertEqual(len(timeline), 0)
2022-12-13 06:44:29 +00:00
2022-12-13 18:12:43 +00:00
# 1 activity after adding first book to shelf
self.alice.shelf_manager.move_item(self.book1, ShelfType.WISHED, visibility=1)
timeline = self.alice.activity_manager.get_viewable_activities()
2022-12-13 06:44:29 +00:00
self.assertEqual(len(timeline), 1)
2022-12-13 18:12:43 +00:00
# 2 activities after adding second book to shelf
self.alice.shelf_manager.move_item(self.book2, ShelfType.WISHED)
timeline = self.alice.activity_manager.get_viewable_activities()
self.assertEqual(len(timeline), 2)
# 2 activities after change first mark
self.alice.shelf_manager.move_item(self.book1, ShelfType.STARTED)
timeline = self.alice.activity_manager.get_viewable_activities()
self.assertEqual(len(timeline), 2)
# bon see 0 activity in timeline in the beginning
timeline2 = self.bob.activity_manager.get_viewable_activities()
self.assertEqual(len(timeline2), 0)
# bob follows alice, see 2 activities
self.bob.mastodon_following = ['Alice@MySpace']
self.alice.mastodon_follower = ['Bob@KKCity']
self.bob.following = self.bob.get_following_ids()
timeline2 = self.bob.activity_manager.get_viewable_activities()
self.assertEqual(len(timeline2), 2)
# alice:3 bob:2 after alice adding second book to shelf as private
self.alice.shelf_manager.move_item(self.movie, ShelfType.WISHED, visibility=2)
timeline = self.alice.activity_manager.get_viewable_activities()
self.assertEqual(len(timeline), 3)
timeline2 = self.bob.activity_manager.get_viewable_activities()
self.assertEqual(len(timeline2), 2)