Ejemplo n.º 1
0
 def test_nav_next_sibling(self):
     page = get(Page, url='/')
     real_sibs = set(['/', '/top-one/', '/top-two/'])
     real_next_sib = '/top-one/'
     self.assertTrue(real_next_sib == page.nav_next_sibling().url)
     
     page = get(Page, url='/top-two/')
     real_next_sib = None
     self.assertTrue(real_next_sib == page.nav_next_sibling())
Ejemplo n.º 2
0
    def test_nav_next_sibling(self):
        page = get(Page, url='/')
        real_sibs = set(['/', '/top-one/', '/top-two/'])
        real_next_sib = '/top-one/'
        self.assertTrue(real_next_sib == page.nav_next_sibling().url)

        page = get(Page, url='/top-two/')
        real_next_sib = None
        self.assertTrue(real_next_sib == page.nav_next_sibling())
Ejemplo n.º 3
0
    def test_move_tree(self):
        one = get(Page, title='Top One')
        one_sub = get(Page, title='One Sub')
        one_sub_sub = get(Page, title='One Sub Sub')
        two = get(Page, title='Top Two')

        self.assertTrue(one in two.get_siblings())
        self.assertEqual(one.url, '/top-one/')
        self.assertEqual(one_sub.url, '/top-one/one-sub/')
        self.assertEqual(one_sub_sub.url, '/top-one/one-sub/one-sub-sub/')

        self.client.login(username='******', password='******')
        resp = self.client.post('/admin/stoat/page/move-page/', {
            'page': one.id,
            'target': two.id,
            'position': 'inside',
        })
        self.assertEqual(resp.status_code, 301)
        self.assertEqual(resp['Location'],
                         'http://testserver/admin/stoat/page/')

        one = get(Page, title='Top One')
        one_sub = get(Page, title='One Sub')
        one_sub_sub = get(Page, title='One Sub Sub')
        two = get(Page, title='Top Two')

        self.assertTrue(one in two.get_children())
        self.assertEqual(one.url, '/top-two/top-one/')
        self.assertEqual(one_sub.url, '/top-two/top-one/one-sub/')
        self.assertEqual(one_sub_sub.url,
                         '/top-two/top-one/one-sub/one-sub-sub/')
Ejemplo n.º 4
0
    def test_pagecontent_deletion(self):
        p = Page.add_root(title='Sample', slug='sample', template='Default')
        p.save()

        pc1 = get(PageContent, page=p, title='Body')
        pc2 = get(PageContent, page=p, title='Sidebar Heading')
        pc3 = get(PageContent, page=p, title='Sidebar Body')
        pc4 = get(PageContent, page=p, title='Test Int')

        self.assertEqual(pc1.content, '')
        self.assertEqual(pc2.content, '')
        self.assertEqual(pc3.content, '')
        self.assertEqual(pc4, None)

        p.template = 'Other'
        p.save()

        pc1 = get(PageContent, page=p, title='Body')
        pc2 = get(PageContent, page=p, title='Sidebar Heading')
        pc3 = get(PageContent, page=p, title='Sidebar Body')
        pc4 = get(PageContent, page=p, title='Test Int')

        self.assertEqual(pc1.content, '')
        self.assertEqual(pc2, None)
        self.assertEqual(pc3, None)
        self.assertEqual(pc4.content, '')
Ejemplo n.º 5
0
    def test_nav_siblings(self):
        page = get(Page, url='/')
        real_sibs = set(['/', '/top-one/', '/top-two/'])
        test_sibs = set([p.url for p in page.nav_siblings()])
        self.assertTrue(real_sibs == test_sibs)

        page = get(Page, url='/top-one/')
        test_sibs = set([p.url for p in page.nav_siblings()])
        self.assertTrue(real_sibs == test_sibs)

        page = get(Page, url='/top-one/one-sub/')
        real_sibs = set(['/top-one/one-sub/'])
        test_sibs = set([p.url for p in page.nav_siblings()])
        self.assertTrue(real_sibs == test_sibs)
Ejemplo n.º 6
0
    def test_nav_siblings(self):
        page = get(Page, url='/')
        real_sibs = set(['/', '/top-one/', '/top-two/'])
        test_sibs = set([p.url for p in page.nav_siblings()])
        self.assertTrue(real_sibs == test_sibs)

        page = get(Page, url='/top-one/')
        test_sibs = set([p.url for p in page.nav_siblings()])
        self.assertTrue(real_sibs == test_sibs)

        page = get(Page, url='/top-one/one-sub/')
        real_sibs = set(['/top-one/one-sub/'])
        test_sibs = set([p.url for p in page.nav_siblings()])
        self.assertTrue(real_sibs == test_sibs)
Ejemplo n.º 7
0
    def test_move_tree(self):
        one = get(Page, title='Top One')
        one_sub = get(Page, title='One Sub')
        one_sub_sub = get(Page, title='One Sub Sub')
        two = get(Page, title='Top Two')

        self.assertTrue(one in two.get_siblings())
        self.assertEqual(one.url, '/top-one/')
        self.assertEqual(one_sub.url, '/top-one/one-sub/')
        self.assertEqual(one_sub_sub.url, '/top-one/one-sub/one-sub-sub/')

        self.client.login(username='******', password='******')
        resp = self.client.post('/admin/stoat/page/move-page/', {
            'page': one.id,
            'target': two.id,
            'position': 'inside',
        })
        self.assertEqual(resp.status_code, 301)
        self.assertEqual(resp['Location'], 'http://testserver/admin/stoat/page/')

        one = get(Page, title='Top One')
        one_sub = get(Page, title='One Sub')
        one_sub_sub = get(Page, title='One Sub Sub')
        two = get(Page, title='Top Two')

        self.assertTrue(one in two.get_children())
        self.assertEqual(one.url, '/top-two/top-one/')
        self.assertEqual(one_sub.url, '/top-two/top-one/one-sub/')
        self.assertEqual(one_sub_sub.url, '/top-two/top-one/one-sub/one-sub-sub/')
Ejemplo n.º 8
0
    def test_nav_children(self):
        page = get(Page, url='/')
        real_kids = set([])
        test_kids = set([p.url for p in page.nav_children()])
        self.assertTrue(real_kids == test_kids)

        page = get(Page, url='/top-one/')
        real_kids = set(['/top-one/one-sub/'])
        test_kids = set([p.url for p in page.nav_children()])
        self.assertTrue(real_kids == test_kids)

        page = get(Page, url='/top-one/one-sub/')
        real_kids = set(['/top-one/one-sub/one-sub-sub/'])
        test_kids = set([p.url for p in page.nav_children()])
        self.assertTrue(real_kids == test_kids)
Ejemplo n.º 9
0
    def test_nav_children(self):
        page = get(Page, url='/')
        real_kids = set([])
        test_kids = set([p.url for p in page.nav_children()])
        self.assertTrue(real_kids == test_kids)

        page = get(Page, url='/top-one/')
        real_kids = set(['/top-one/one-sub/'])
        test_kids = set([p.url for p in page.nav_children()])
        self.assertTrue(real_kids == test_kids)

        page = get(Page, url='/top-one/one-sub/')
        real_kids = set(['/top-one/one-sub/one-sub-sub/'])
        test_kids = set([p.url for p in page.nav_children()])
        self.assertTrue(real_kids == test_kids)
Ejemplo n.º 10
0
    def test_pagecontent_preservation(self):
        p = Page.add_root(title='Sample', slug='sample', template='Default')
        p.save()

        pc1 = get(PageContent, page=p, title='Body')
        pc1.content = 'Testing Content'
        pc1.save()

        pc1 = get(PageContent, page=p, title='Body')
        self.assertEqual(pc1.content, 'Testing Content')

        p.template = 'Other'
        p.save()

        pc1 = get(PageContent, page=p, title='Body')
        self.assertEqual(pc1.content, 'Testing Content')
Ejemplo n.º 11
0
    def test_breadcrumbs(self):
        page = get(Page, url='/')
        real_crumbs = ['/']
        self.assertTrue(real_crumbs == [p.url for p in page.breadcrumbs()])

        page = get(Page, url='/top-one/')
        real_crumbs = ['/top-one/']
        self.assertTrue(real_crumbs == [p.url for p in page.breadcrumbs()])

        page = get(Page, url='/top-one/one-sub/')
        real_crumbs = ['/top-one/', '/top-one/one-sub/']
        self.assertTrue(real_crumbs == [p.url for p in page.breadcrumbs()])

        page = get(Page, url='/top-one/one-sub/one-sub-sub/')
        real_crumbs = ['/top-one/', '/top-one/one-sub/', '/top-one/one-sub/one-sub-sub/']
        self.assertTrue(real_crumbs == [p.url for p in page.breadcrumbs()])

        page = get(Page, url='/top-one/one-sub-hidden/')
        real_crumbs = ['/top-one/', '/top-one/one-sub-hidden/']
        self.assertTrue(real_crumbs == [p.url for p in page.breadcrumbs()])
Ejemplo n.º 12
0
    def test_breadcrumbs(self):
        page = get(Page, url='/')
        real_crumbs = ['/']
        self.assertTrue(real_crumbs == [p.url for p in page.breadcrumbs()])

        page = get(Page, url='/top-one/')
        real_crumbs = ['/top-one/']
        self.assertTrue(real_crumbs == [p.url for p in page.breadcrumbs()])

        page = get(Page, url='/top-one/one-sub/')
        real_crumbs = ['/top-one/', '/top-one/one-sub/']
        self.assertTrue(real_crumbs == [p.url for p in page.breadcrumbs()])

        page = get(Page, url='/top-one/one-sub/one-sub-sub/')
        real_crumbs = [
            '/top-one/', '/top-one/one-sub/', '/top-one/one-sub/one-sub-sub/'
        ]
        self.assertTrue(real_crumbs == [p.url for p in page.breadcrumbs()])

        page = get(Page, url='/top-one/one-sub-hidden/')
        real_crumbs = ['/top-one/', '/top-one/one-sub-hidden/']
        self.assertTrue(real_crumbs == [p.url for p in page.breadcrumbs()])
Ejemplo n.º 13
0
    def test_shadowed(self):
        p = get(Page, title='Shadowed')
        self.assertEqual(p.url, '/shadowed/')

        resp = self.client.get('/shadowed/')
        self.assertEqual(resp.status_code, 200)

        self.assertTrue('This is a normal view.' in resp.content)
        self.assertTrue('html' not in resp.content)

        resp = self.client.get('/shadowed')
        self.assertEqual(resp.status_code, 301)
        self.assertEqual(resp['Location'], 'http://testserver/shadowed/')
Ejemplo n.º 14
0
    def test_shadowed(self):
        p = get(Page, title='Shadowed')
        self.assertEqual(p.url, '/shadowed/')

        resp = self.client.get('/shadowed/')
        self.assertEqual(resp.status_code, 200)

        self.assertTrue('This is a normal view.' in resp.content)
        self.assertTrue('html' not in resp.content)

        resp = self.client.get('/shadowed')
        self.assertEqual(resp.status_code, 301)
        self.assertEqual(resp['Location'], 'http://testserver/shadowed/')
Ejemplo n.º 15
0
    def test_move_below(self):
        one = get(Page, title='Top Two')
        two = get(Page, title='Top One')
        pages = list(Page.objects.filter(depth=1))

        self.assertTrue(two in pages)
        self.assertTrue(pages.index(one) > pages.index(two))

        self.client.login(username='******', password='******')
        resp = self.client.post('/admin/stoat/page/move-page/', {
            'page': two.id,
            'target': one.id,
            'position': 'below',
        })
        self.assertEqual(resp.status_code, 301)
        self.assertEqual(resp['Location'], 'http://testserver/admin/stoat/page/')

        one = get(Page, title='Top Two')
        two = get(Page, title='Top One')
        pages = list(Page.objects.filter(depth=1))

        self.assertTrue(two in pages)
        self.assertTrue(pages.index(one) < pages.index(two))
Ejemplo n.º 16
0
    def test_nav_siblings_and_children(self):
        def test_siblings(saclist, urllist):
            urls = set([sib.url for sib, children in saclist])
            return urls == set(urllist)

        def test_children(saclist, urlmap):
            test_urlmap = {}
            for sib, children in saclist:
                test_urlmap[sib.url] = [c.url for c in children]

            return test_urlmap == urlmap


        page = get(Page, url='/')
        real_sibs = ['/', '/top-one/', '/top-two/']
        real_map = {
            '/': [],
            '/top-one/': ['/top-one/one-sub/'],
            '/top-two/': [],
        }
        saclist = page.nav_siblings_and_children()
        self.assertTrue(test_siblings(saclist, real_sibs))
        self.assertTrue(test_children(saclist, real_map))

        page = get(Page, url='/top-one/')
        saclist = page.nav_siblings_and_children()
        self.assertTrue(test_siblings(saclist, real_sibs))
        self.assertTrue(test_children(saclist, real_map))

        page = get(Page, url='/top-one/one-sub/')
        real_sibs = ['/top-one/one-sub/']
        real_map = {
            '/top-one/one-sub/': ['/top-one/one-sub/one-sub-sub/'],
        }
        saclist = page.nav_siblings_and_children()
        self.assertTrue(test_siblings(saclist, real_sibs))
        self.assertTrue(test_children(saclist, real_map))
Ejemplo n.º 17
0
    def test_nav_siblings_and_children(self):
        def test_siblings(saclist, urllist):
            urls = set([sib.url for sib, children in saclist])
            return urls == set(urllist)

        def test_children(saclist, urlmap):
            test_urlmap = {}
            for sib, children in saclist:
                test_urlmap[sib.url] = [c.url for c in children]

            return test_urlmap == urlmap

        page = get(Page, url='/')
        real_sibs = ['/', '/top-one/', '/top-two/']
        real_map = {
            '/': [],
            '/top-one/': ['/top-one/one-sub/'],
            '/top-two/': [],
        }
        saclist = page.nav_siblings_and_children()
        self.assertTrue(test_siblings(saclist, real_sibs))
        self.assertTrue(test_children(saclist, real_map))

        page = get(Page, url='/top-one/')
        saclist = page.nav_siblings_and_children()
        self.assertTrue(test_siblings(saclist, real_sibs))
        self.assertTrue(test_children(saclist, real_map))

        page = get(Page, url='/top-one/one-sub/')
        real_sibs = ['/top-one/one-sub/']
        real_map = {
            '/top-one/one-sub/': ['/top-one/one-sub/one-sub-sub/'],
        }
        saclist = page.nav_siblings_and_children()
        self.assertTrue(test_siblings(saclist, real_sibs))
        self.assertTrue(test_children(saclist, real_map))
Ejemplo n.º 18
0
    def test_move_below(self):
        one = get(Page, title='Top Two')
        two = get(Page, title='Top One')
        pages = list(Page.objects.filter(depth=1))

        self.assertTrue(two in pages)
        self.assertTrue(pages.index(one) > pages.index(two))

        self.client.login(username='******', password='******')
        resp = self.client.post('/admin/stoat/page/move-page/', {
            'page': two.id,
            'target': one.id,
            'position': 'below',
        })
        self.assertEqual(resp.status_code, 301)
        self.assertEqual(resp['Location'],
                         'http://testserver/admin/stoat/page/')

        one = get(Page, title='Top Two')
        two = get(Page, title='Top One')
        pages = list(Page.objects.filter(depth=1))

        self.assertTrue(two in pages)
        self.assertTrue(pages.index(one) < pages.index(two))