def test_pages_ordering(self):
        [category] = self.create_categories(self.workspace, count=1)
        page1 = Page({
            'title': 'title 1', 'language': 'eng_GB', 'position': 3,
            'primary_category': category.uuid})
        page2 = Page({
            'title': 'title 2', 'language': 'eng_GB', 'position': 0,
            'primary_category': category.uuid})
        page3 = Page({
            'title': 'title 3', 'language': 'eng_GB', 'position': 1,
            'primary_category': category.uuid})
        page4 = Page({
            'title': 'title 4', 'language': 'eng_GB', 'position': 2,
            'primary_category': category.uuid})
        self.workspace.save(page1, 'Update position')
        self.workspace.save(page2, 'Update position')
        self.workspace.save(page3, 'Update position')
        self.workspace.save(page4, 'Update position')
        self.workspace.refresh_index()

        request = self.mk_request(matchdict={'category': category.uuid})
        views = CmsViews(request)
        cat = views.category()
        p1, p2, p3, p4 = cat['pages']

        self.assertEqual(p1.uuid, page2.uuid)
        self.assertEqual(p2.uuid, page3.uuid)
        self.assertEqual(p3.uuid, page4.uuid)
        self.assertEqual(p4.uuid, page1.uuid)
    def test_category_view(self):
        [category] = self.create_categories(
            self.workspace, count=1, language='swa_KE')
        [page] = self.create_pages(
            self.workspace, count=1, language='swa_KE',
            primary_category=category.uuid)

        request = self.mk_request(
            matchdict={'category': category.uuid}, locale_name='swa_KE')
        views = CmsViews(request)
        response = views.category()
        self.assertEqual(response['category'].uuid, category.uuid)
        self.assertEqual(
            [p.uuid for p in response['pages']], [page.uuid])
    def test_category_view(self):
        [category] = self.create_categories(self.workspace,
                                            count=1,
                                            language='swa_KE')
        [page] = self.create_pages(self.workspace,
                                   count=1,
                                   language='swa_KE',
                                   primary_category=category.uuid)

        request = self.mk_request(matchdict={'category': category.uuid},
                                  locale_name='swa_KE')
        views = CmsViews(request)
        response = views.category()
        self.assertEqual(response['category'].uuid, category.uuid)
        self.assertEqual([p.uuid for p in response['pages']], [page.uuid])
    def test_pages_ordering(self):
        [category] = self.create_categories(self.workspace, count=1)
        page1 = Page({
            'title': 'title 1',
            'language': 'eng_GB',
            'position': 3,
            'primary_category': category.uuid
        })
        page2 = Page({
            'title': 'title 2',
            'language': 'eng_GB',
            'position': 0,
            'primary_category': category.uuid
        })
        page3 = Page({
            'title': 'title 3',
            'language': 'eng_GB',
            'position': 1,
            'primary_category': category.uuid
        })
        page4 = Page({
            'title': 'title 4',
            'language': 'eng_GB',
            'position': 2,
            'primary_category': category.uuid
        })
        self.workspace.save(page1, 'Update position')
        self.workspace.save(page2, 'Update position')
        self.workspace.save(page3, 'Update position')
        self.workspace.save(page4, 'Update position')
        self.workspace.refresh_index()

        request = self.mk_request(matchdict={'category': category.uuid})
        views = CmsViews(request)
        cat = views.category()
        p1, p2, p3, p4 = cat['pages']

        self.assertEqual(p1.uuid, page2.uuid)
        self.assertEqual(p2.uuid, page3.uuid)
        self.assertEqual(p3.uuid, page4.uuid)
        self.assertEqual(p4.uuid, page1.uuid)