diff --git a/bookmarks/models.py b/bookmarks/models.py index 613f139..ef8d605 100644 --- a/bookmarks/models.py +++ b/bookmarks/models.py @@ -51,7 +51,12 @@ class Bookmark(models.Model): @property def resolved_title(self): - return self.website_title if not self.title else self.title + if self.title: + return self.title + elif self.website_title: + return self.website_title + else: + return self.url @property def resolved_description(self): diff --git a/bookmarks/tests/test_bookmarks_model.py b/bookmarks/tests/test_bookmarks_model.py new file mode 100644 index 0000000..0ca9775 --- /dev/null +++ b/bookmarks/tests/test_bookmarks_model.py @@ -0,0 +1,16 @@ +from django.test import TestCase + +from bookmarks.models import Bookmark + + +class BookmarkTestCase(TestCase): + + def test_bookmark_resolved_title(self): + bookmark = Bookmark(title='Custom title', website_title='Website title', url='https://example.com') + self.assertEqual(bookmark.resolved_title, 'Custom title') + + bookmark = Bookmark(title='', website_title='Website title', url='https://example.com') + self.assertEqual(bookmark.resolved_title, 'Website title') + + bookmark = Bookmark(title='', website_title='', url='https://example.com') + self.assertEqual(bookmark.resolved_title, 'https://example.com')