From ab58d9975ba209ca94fdb45165ed5f82be0ec2be Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 12 Jan 2023 11:02:14 -0500 Subject: [PATCH] temp --- journal/models.py | 8 +++----- journal/tests.py | 16 ++++++++++++++++ 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/journal/models.py b/journal/models.py index cb0acdf9..2579931c 100644 --- a/journal/models.py +++ b/journal/models.py @@ -520,14 +520,12 @@ class ShelfLogEntry(models.Model): edited_time = models.DateTimeField(auto_now=True) def __str__(self): - return f"{self.owner}:{self.shelf}:{self.item}:{self.metadata}" + return f"{self.owner}:{self.shelf_type}:{self.item.uuid}:{self.timestamp}:{self.metadata}" @property def action_label(self): - if self.shelf: - return ShelfManager.get_action_label( - self.shelf.shelf_type, self.item.category - ) + if self.shelf_type: + return ShelfManager.get_action_label(self.shelf_type, self.item.category) else: return _("移除标记") diff --git a/journal/tests.py b/journal/tests.py index d1bbeccc..d0bd8fcc 100644 --- a/journal/tests.py +++ b/journal/tests.py @@ -2,6 +2,7 @@ from django.test import TestCase from .models import * from catalog.models import * from users.models import User +import time class CollectionTest(TestCase): @@ -47,33 +48,48 @@ class ShelfTest(TestCase): self.assertEqual(q1.members.all().count(), 0) self.assertEqual(q2.members.all().count(), 0) shelf_manager.move_item(book1, ShelfType.WISHLIST) + time.sleep(0.001) shelf_manager.move_item(book2, ShelfType.WISHLIST) + time.sleep(0.001) self.assertEqual(q1.members.all().count(), 2) shelf_manager.move_item(book1, ShelfType.PROGRESS) + time.sleep(0.001) self.assertEqual(q1.members.all().count(), 1) self.assertEqual(q2.members.all().count(), 1) + log = shelf_manager.get_log_for_item(book1) + self.assertEqual(log.count(), 2) + self.assertEqual(log.last().metadata, {}) shelf_manager.move_item(book1, ShelfType.PROGRESS, metadata={"progress": 1}) + time.sleep(0.01) self.assertEqual(q1.members.all().count(), 1) self.assertEqual(q2.members.all().count(), 1) log = shelf_manager.get_log_for_item(book1) self.assertEqual(log.count(), 3) + self.assertEqual(log.last().metadata, {"progress": 1}) shelf_manager.move_item(book1, ShelfType.PROGRESS, metadata={"progress": 1}) + time.sleep(0.001) log = shelf_manager.get_log_for_item(book1) self.assertEqual(log.count(), 3) + self.assertEqual(log.last().metadata, {"progress": 1}) shelf_manager.move_item(book1, ShelfType.PROGRESS, metadata={"progress": 10}) + time.sleep(0.001) log = shelf_manager.get_log_for_item(book1) self.assertEqual(log.count(), 4) + self.assertEqual(log.last().metadata, {"progress": 10}) shelf_manager.move_item(book1, ShelfType.PROGRESS) + time.sleep(0.001) log = shelf_manager.get_log_for_item(book1) self.assertEqual(log.count(), 4) self.assertEqual(log.last().metadata, {"progress": 10}) shelf_manager.move_item(book1, ShelfType.PROGRESS, metadata={"progress": 90}) + time.sleep(0.001) log = shelf_manager.get_log_for_item(book1) self.assertEqual(log.count(), 5) self.assertEqual(Mark(user, book1).visibility, 0) shelf_manager.move_item( book1, ShelfType.PROGRESS, metadata={"progress": 90}, visibility=1 ) + time.sleep(0.001) self.assertEqual(Mark(user, book1).visibility, 1) self.assertEqual(shelf_manager.get_log_for_item(book1).count(), 5)