Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions apps/search_indexes.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ class AppIndex(indexes.SearchIndex, indexes.Indexable):
def get_model(self):
return App

def index_queryset(self, using=None):
return self.get_model().objects.filter(active=True)


class AuthorIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.EdgeNgramField(document = True, use_template = True)
Expand Down
31 changes: 30 additions & 1 deletion apps/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import random
from PIL import Image, ImageDraw

from apps.search_indexes import AppIndex
from django.conf import settings
from django.core.files.uploadedfile import SimpleUploadedFile
from django.contrib.auth.models import User
Expand Down Expand Up @@ -676,4 +677,32 @@ def test_app_button_by_name_found_app(self):
active=True)
appobj.save()
res = app_buttons.app_button_by_name('myapp')
self.assertEqual('myapp', res['app'].name)
self.assertEqual('myapp', res['app'].name)


class AppIndexQuerysetTestCase(TestCase):

def setUp(self):
App.objects.all().delete()

self.active_app = App.objects.create(
name='activeapp',
fullname='ActiveApp',
active=True
)

self.inactive_app = App.objects.create(
name='inactiveapp',
fullname='InactiveApp',
active=False
)

def tearDown(self):
App.objects.all().delete()

def test_index_queryset_returns_only_active_apps(self):
index = AppIndex()
queryset = index.index_queryset()

self.assertIn(self.active_app, queryset)
self.assertNotIn(self.inactive_app, queryset)