mirror of
https://github.com/sissbruecker/linkding
synced 2024-11-10 06:04:15 +00:00
0975914a86
* Rename BookmarkFilters to BookmarkSearch * Refactor queries to accept BookmarkSearch * Sort query by data added and title * Ensure pagination respects search parameters * Ensure tag cloud respects search parameters * Ensure user select respects search parameters * Ensure return url respects search options * Fix passing search options to user select * Fix BookmarkSearch initialization * Extract common search form logic * Ensure partial update respects search options * Add sort UI * Use custom ICU collation when sorting with SQLite * Support sort in API
58 lines
2.3 KiB
Python
58 lines
2.3 KiB
Python
from django.test import TestCase
|
|
|
|
from bookmarks.models import BookmarkSearch, BookmarkSearchForm
|
|
from bookmarks.tests.helpers import BookmarkFactoryMixin
|
|
|
|
|
|
class BookmarkSearchFormTest(TestCase, BookmarkFactoryMixin):
|
|
def test_initial_values(self):
|
|
# no params
|
|
search = BookmarkSearch()
|
|
form = BookmarkSearchForm(search)
|
|
self.assertEqual(form['q'].initial, '')
|
|
self.assertEqual(form['sort'].initial, BookmarkSearch.SORT_ADDED_DESC)
|
|
self.assertEqual(form['user'].initial, '')
|
|
|
|
# with params
|
|
search = BookmarkSearch(q='search query', sort=BookmarkSearch.SORT_ADDED_ASC, user='user123')
|
|
form = BookmarkSearchForm(search)
|
|
self.assertEqual(form['q'].initial, 'search query')
|
|
self.assertEqual(form['sort'].initial, BookmarkSearch.SORT_ADDED_ASC)
|
|
self.assertEqual(form['user'].initial, 'user123')
|
|
|
|
def test_user_options(self):
|
|
users = [
|
|
self.setup_user('user1'),
|
|
self.setup_user('user2'),
|
|
self.setup_user('user3'),
|
|
]
|
|
search = BookmarkSearch()
|
|
form = BookmarkSearchForm(search, users=users)
|
|
|
|
self.assertCountEqual(form['user'].field.choices, [
|
|
('', 'Everyone'),
|
|
('user1', 'user1'),
|
|
('user2', 'user2'),
|
|
('user3', 'user3'),
|
|
])
|
|
|
|
def test_hidden_fields(self):
|
|
# no modified params
|
|
search = BookmarkSearch()
|
|
form = BookmarkSearchForm(search)
|
|
self.assertEqual(len(form.hidden_fields()), 0)
|
|
|
|
# some modified params
|
|
search = BookmarkSearch(q='search query', sort=BookmarkSearch.SORT_ADDED_ASC)
|
|
form = BookmarkSearchForm(search)
|
|
self.assertCountEqual(form.hidden_fields(), [form['q'], form['sort']])
|
|
|
|
# all modified params
|
|
search = BookmarkSearch(q='search query', sort=BookmarkSearch.SORT_ADDED_ASC, user='user123')
|
|
form = BookmarkSearchForm(search)
|
|
self.assertCountEqual(form.hidden_fields(), [form['q'], form['sort'], form['user']])
|
|
|
|
# some modified params are editable fields
|
|
search = BookmarkSearch(q='search query', sort=BookmarkSearch.SORT_ADDED_ASC, user='user123')
|
|
form = BookmarkSearchForm(search, editable_fields=['q', 'user'])
|
|
self.assertCountEqual(form.hidden_fields(), [form['sort']])
|