def test_fetch(self):
        dummy1 = DummyModel.objects.create(name='Foo')
        dummy2 = DummyModel.objects.create(name='Bar')
        dummy3 = DummyModel.objects.create(name='Foobar')

        qset = list(
            QuerySetFilterJob(DummyModel).fetch(name__startswith='Foo'))
        assert dummy1 in qset
        assert dummy2 not in qset
        assert dummy3 in qset
Beispiel #2
0
class TestFilterQuerySetJob(TestCase):
    def setUp(self):
        self.job = QuerySetFilterJob(models.DummyModel)
        models.DummyModel.objects.create(name="Alan")
        models.DummyModel.objects.create(name="Barry")

    def tearDown(self):
        models.DummyModel.objects.all().delete()
        cache.clear()

    def test_returns_result_on_first_call(self):
        results = self.job.get(name='Alan')
        self.assertEqual(1, len(results))
Beispiel #3
0
class TestFilterQuerySetJob(TestCase):

    def setUp(self):
        self.job = QuerySetFilterJob(models.DummyModel)
        models.DummyModel.objects.create(name="Alan")
        models.DummyModel.objects.create(name="Barry")

    def tearDown(self):
        models.DummyModel.objects.all().delete()
        cache.clear()

    def test_returns_result_on_first_call(self):
        results = self.job.get(name='Alan')
        self.assertEqual(1, len(results))
Beispiel #4
0
def index(request):
    if 'name' in request.GET:
        name = request.GET['name']
        if 'qs' in request.GET:
            items = QuerySetFilterJob(models.DummyModel, 10,
                                      False).get(name=name)
        else:
            items = jobs.KeyedJob().get(name=request.GET['name'])
    elif 'function' in request.GET:
        job = FunctionJob()
        job.fetch_on_miss = False
        if 'q' in request.GET:
            items = job.get(fetch_with_arg, request.GET['q'])
        else:
            items = job.get(fetch)
    elif 'decorator' in request.GET:
        items = decorated('3')
    else:
        items = jobs.VanillaJob().get()
    return render(request, 'index.html', {'items': items})
Beispiel #5
0
class BaseView(TemplateView):

    paginas = QuerySetFilterJob(Pagina, lifetime=1 * HOURS).get(activo=True)

    def get_context_data(self, **kwargs):
        context = super(BaseView, self).get_context_data(**kwargs)

        if self.request.is_ajax():
            context.update({
                'lista':
                QuerySetGetJob(Lista).get(
                    slug=self.request.GET.get('querystring_key')),
            })

        if hasattr(self, 'pagina'): context.update({'pagina': self.pagina})
        if hasattr(self, 'listado'): context.update({'listado': self.listado})
        context.update({'home': HOME, 'paginas': self.paginas})

        return context

    def get_template_names(self):
        """special AJAX lista case"""
        return self.request.is_ajax(
        ) and 'ajax_lista.html' or self.template_name
Beispiel #6
0
 def setUp(self):
     self.job = QuerySetFilterJob(models.DummyModel)
     models.DummyModel.objects.create(name="Alan")
     models.DummyModel.objects.create(name="Barry")
Beispiel #7
0
 def setUp(self):
     self.job = QuerySetFilterJob(models.DummyModel)
     models.DummyModel.objects.create(name="Alan")
     models.DummyModel.objects.create(name="Barry")