def test(self): expected = set() results = set((r.pk for r in SearchQuerySet())) self.assertEqual(results, expected) all_pks = [self.video0.pk, self.video1.pk, self.video2.pk, self.video3.pk, self.video4.pk] haystack_update.apply(args=(Video._meta.app_label, Video._meta.module_name, all_pks)) expected = set(all_pks[1:]) results = set((int(r.pk) for r in SearchQuerySet())) self.assertEqual(results, expected)
def test_remove(self): """ Any instances which are not in the main queryset should be removed if the ``remove`` kwarg is ``True``. """ all_pks = [self.video0.pk, self.video1.pk, self.video2.pk, self.video3.pk, self.video4.pk] haystack_update.apply(args=(Video._meta.app_label, Video._meta.module_name, all_pks)) # If remove is True, the changed instance should be removed. self.video1.status = Video.REJECTED self.video1.save(update_index=False) expected = set(all_pks[1:]) results = set((int(r.pk) for r in SearchQuerySet())) self.assertEqual(results, expected) haystack_update.apply(args=(Video._meta.app_label, Video._meta.module_name, all_pks), kwargs={'remove': True}) expected = set(all_pks[2:]) results = set((int(r.pk) for r in SearchQuerySet())) self.assertEqual(results, expected) # Otherwise, it shouldn't be removed. self.video2.status = Video.REJECTED self.video2.save(update_index=False) expected = set(all_pks[2:]) results = set((int(r.pk) for r in SearchQuerySet())) self.assertEqual(results, expected) haystack_update.apply(args=(Video._meta.app_label, Video._meta.module_name, all_pks), kwargs={'remove': False}) expected = set(all_pks[2:]) results = set((int(r.pk) for r in SearchQuerySet())) self.assertEqual(results, expected)