Beispiel #1
0
    def test_switch_edition(self):
        ''' updates user's relationships to a book '''
        work = models.Work.objects.create(title='test work')
        edition1 = models.Edition.objects.create(title='first ed',
                                                 parent_work=work)
        edition2 = models.Edition.objects.create(title='second ed',
                                                 parent_work=work)
        with patch('bookwyrm.models.activitypub_mixin.broadcast_task.delay'):
            shelf = models.Shelf.objects.create(name='Test Shelf',
                                                user=self.local_user)
            models.ShelfBook.objects.create(
                book=edition1,
                user=self.local_user,
                shelf=shelf,
            )
        models.ReadThrough.objects.create(user=self.local_user, book=edition1)

        self.assertEqual(models.ShelfBook.objects.get().book, edition1)
        self.assertEqual(models.ReadThrough.objects.get().book, edition1)
        request = self.factory.post('', {'edition': edition2.id})
        request.user = self.local_user
        with patch('bookwyrm.models.activitypub_mixin.broadcast_task.delay'):
            views.switch_edition(request)

        self.assertEqual(models.ShelfBook.objects.get().book, edition2)
        self.assertEqual(models.ReadThrough.objects.get().book, edition2)
Beispiel #2
0
    def test_switch_edition(self):
        """ updates user's relationships to a book """
        work = models.Work.objects.create(title="test work")
        edition1 = models.Edition.objects.create(title="first ed",
                                                 parent_work=work)
        edition2 = models.Edition.objects.create(title="second ed",
                                                 parent_work=work)
        with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"):
            shelf = models.Shelf.objects.create(name="Test Shelf",
                                                user=self.local_user)
            models.ShelfBook.objects.create(
                book=edition1,
                user=self.local_user,
                shelf=shelf,
            )
        models.ReadThrough.objects.create(user=self.local_user, book=edition1)

        self.assertEqual(models.ShelfBook.objects.get().book, edition1)
        self.assertEqual(models.ReadThrough.objects.get().book, edition1)
        request = self.factory.post("", {"edition": edition2.id})
        request.user = self.local_user
        with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"):
            views.switch_edition(request)

        self.assertEqual(models.ShelfBook.objects.get().book, edition2)
        self.assertEqual(models.ReadThrough.objects.get().book, edition2)