Esempio n. 1
0
 def test_without_signal(self):
     pre_save.disconnect(maybe_update_homepage, sender=Page,
                         dispatch_uid='slugpage_maybe_update_homepage')
     page = Page(title='test', template='test', slug='test',
                 is_homepage=True)
     page.save()
     page2 = Page(title='test2', template='test2', slug='test2',
                  is_homepage=False)
     page2.save()
     # now two pages, the first of which is the homepage.
     results = tuple(Result(pk=x.pk, homepage=x.is_homepage)
                     for x in Page.objects.all().order_by('pk'))
     self.assertEqual(results, (
         Result(pk=1, homepage=True),
         Result(pk=2, homepage=False),
     ))
     page2.is_homepage = True
     page2.save()
     # now two pages, but both are the homepage.
     results = tuple(Result(pk=x.pk, homepage=x.is_homepage)
                     for x in Page.objects.all().order_by('pk'))
     self.assertEqual(results, (
         Result(pk=1, homepage=True),
         Result(pk=2, homepage=True),
     ))
Esempio n. 2
0
    def test_pre_save_signal_to_update_homepage(self):
        pre_save.disconnect(maybe_update_homepage, sender=Page,
                            dispatch_uid='slugpage_maybe_update_homepage')
        pre_save.connect(maybe_update_homepage, sender=Page,
                         dispatch_uid='TESTING_maybe_update_homepage')
        
        page = Page(title='test', template='test', slug='test',
                    is_homepage=True)
        page.save()
        # initially only one page, which is the homepage
        results = tuple(Result(pk=x.pk, homepage=x.is_homepage)
                        for x in Page.objects.all().order_by('pk'))
        self.assertEqual(results, (
            Result(pk=1, homepage=True),
        ))

        page2 = Page(title='test2', template='test2', slug='test2',
                     is_homepage=False)
        page2.save()
        # now two pages, the first of which is the homepage.
        results = tuple(Result(pk=x.pk, homepage=x.is_homepage)
                        for x in Page.objects.all().order_by('pk'))
        self.assertEqual(results, (
            Result(pk=1, homepage=True),
            Result(pk=2, homepage=False),
        ))

        page2.is_homepage = True
        page2.save()
        # now two pages, and we should've switched the homepage via the signal
        results = tuple(Result(pk=x.pk, homepage=x.is_homepage)
                        for x in Page.objects.all().order_by('pk'))
        self.assertEqual(results, (
            Result(pk=1, homepage=False),
            Result(pk=2, homepage=True),
        ))
        pre_save.disconnect(maybe_update_homepage, sender=Page,
                            dispatch_uid='TESTING_maybe_update_homepage')
Esempio n. 3
0
 def test_template_choices(self):
     self.assertEqual(
         tuple(Page.get_template_choices()),
         (("varlet/pages/layouts/a.html", "Template: a"), ("varlet/pages/layouts/b.html", "Another template: b")),
     )