def test_default_views(self, root, config):
        config.add_view(
            context=IContent,
            name='folder_view',
            permission='view',
            renderer='kotti:templates/view/folder.pt',
            )

        context = root
        request = DummyRequest()

        view = DefaultViewSelection(context, request)

        sviews = view.default_view_selector()

        assert 'selectable_default_views' in sviews

        # the root should have at least the default view and the folder_view
        assert len(sviews['selectable_default_views']) > 1

        # the first view is always the default view
        assert sviews['selectable_default_views'][0]['is_current'] is True
        assert sviews['selectable_default_views'][0]['name'] == 'default'
        assert sviews['selectable_default_views'][0]['title'] == 'Default view'

        assert sviews['selectable_default_views'][1]['is_current'] is False

        # set the default view to folder_view view
        request = DummyRequest(GET={'view_name': 'folder_view'})
        view = DefaultViewSelection(context, request)

        assert type(view.set_default_view()) == HTTPFound
        assert context.default_view == 'folder_view'

        # set back to default
        request = DummyRequest(GET={'view_name': 'default'})
        view = DefaultViewSelection(context, request)

        assert type(view.set_default_view()) == HTTPFound
        assert context.default_view is None

        # try to set non existing view
        request = DummyRequest(GET={'view_name': 'nonexisting'})
        view = DefaultViewSelection(context, request)

        assert type(view.set_default_view()) == HTTPFound
        assert context.default_view is None
Esempio n. 2
0
    def test_default_views(self, root, config):
        config.add_view(
            context=IContent,
            name='folder_view',
            permission='view',
            renderer='kotti:templates/view/folder.pt',
        )

        context = root
        request = DummyRequest()

        view = DefaultViewSelection(context, request)

        sviews = view.default_view_selector()

        assert 'selectable_default_views' in sviews

        # the root should have at least the default view and the folder_view
        assert len(sviews['selectable_default_views']) > 1

        # the first view is always the default view
        assert sviews['selectable_default_views'][0]['is_current'] is True
        assert sviews['selectable_default_views'][0]['name'] == 'default'
        assert sviews['selectable_default_views'][0]['title'] == 'Default view'

        assert sviews['selectable_default_views'][1]['is_current'] is False

        # set the default view to folder_view view
        request = DummyRequest(GET={'view_name': 'folder_view'})
        view = DefaultViewSelection(context, request)

        assert type(view.set_default_view()) == HTTPFound
        assert context.default_view == 'folder_view'

        # set back to default
        request = DummyRequest(GET={'view_name': 'default'})
        view = DefaultViewSelection(context, request)

        assert type(view.set_default_view()) == HTTPFound
        assert context.default_view is None

        # try to set non existing view
        request = DummyRequest(GET={'view_name': 'nonexisting'})
        view = DefaultViewSelection(context, request)

        assert type(view.set_default_view()) == HTTPFound
        assert context.default_view is None
    def test_default_views(self, root, config):
        config.add_view(
            context=IContent,
            name="folder_view",
            permission="view",
            renderer="kotti:templates/view/folder.pt",
        )

        context = root
        request = DummyRequest()

        view = DefaultViewSelection(context, request)

        sviews = view.default_view_selector()

        assert "selectable_default_views" in sviews

        # the root should have at least the default view and the folder_view
        assert len(sviews["selectable_default_views"]) > 1

        # the first view is always the default view
        assert sviews["selectable_default_views"][0]["is_current"] is True
        assert sviews["selectable_default_views"][0]["name"] == "default"
        assert sviews["selectable_default_views"][0]["title"] == "Default view"

        assert sviews["selectable_default_views"][1]["is_current"] is False

        # set the default view to folder_view view
        request = DummyRequest(GET={"view_name": "folder_view"})
        view = DefaultViewSelection(context, request)

        assert type(view.set_default_view()) == HTTPFound
        assert context.default_view == "folder_view"

        # set back to default
        request = DummyRequest(GET={"view_name": "default"})
        view = DefaultViewSelection(context, request)

        assert type(view.set_default_view()) == HTTPFound
        assert context.default_view is None

        # try to set non existing view
        request = DummyRequest(GET={"view_name": "nonexisting"})
        view = DefaultViewSelection(context, request)

        assert type(view.set_default_view()) == HTTPFound
        assert context.default_view is None
Esempio n. 4
0
    def test_default_views(self, root, config):
        config.add_view(
            context=IContent,
            name="folder_view",
            permission="view",
            renderer="kotti:templates/view/folder.pt",
        )

        context = root
        request = DummyRequest()

        view = DefaultViewSelection(context, request)

        sviews = view.default_view_selector()

        assert "selectable_default_views" in sviews

        # the root should have at least the default view and the folder_view
        assert len(sviews["selectable_default_views"]) > 1

        # the first view is always the default view
        assert sviews["selectable_default_views"][0]["is_current"] is True
        assert sviews["selectable_default_views"][0]["name"] == "default"
        assert sviews["selectable_default_views"][0]["title"] == "Default view"

        assert sviews["selectable_default_views"][1]["is_current"] is False

        # set the default view to folder_view view
        request = DummyRequest(GET={"view_name": "folder_view"})
        view = DefaultViewSelection(context, request)

        assert type(view.set_default_view()) == HTTPFound
        assert context.default_view == "folder_view"

        # set back to default
        request = DummyRequest(GET={"view_name": "default"})
        view = DefaultViewSelection(context, request)

        assert type(view.set_default_view()) == HTTPFound
        assert context.default_view is None

        # try to set non existing view
        request = DummyRequest(GET={"view_name": "nonexisting"})
        view = DefaultViewSelection(context, request)

        assert type(view.set_default_view()) == HTTPFound
        assert context.default_view is None
Esempio n. 5
0
def test_news_item_list_views(db_session, dummy_request):

    root = get_root()
    d = date.today()

    # Add some news items
    for i in range(10):

        n = NewsItem(
            title=u"News Item %s Title" % (i + 1),
            description=u"News Item %s description" % (i + 1),
            )

        if i == 9:
            # Set date to future for the last news item
            # this will fail in leap years on february 29th, which is acceptable
            # as this is only a test.
            n.publish_date = date(d.year + 1, d.month, d.day)
        else:
            # Set date to random year in the past
            n.publish_date = date(d.year - randint(0, 100), d.month, d.day)

        root["news_item_%s" % (i + 1)] = n
        db_session.add(n)
        db_session.flush()

    dummy_request.registry.settings['kotti_newsitem.widget.num_news'] = 4
    view = NewsItemListViews(root, dummy_request)

    assert len(view.news_items()) == 9
    assert len(view.news_items(5)) == 5

    assert len(view.all_news()['items']) == 9
    assert len(view.recent_news()['items']) == 4

    # Test order
    d = date.today()
    for n in view.news_items():
        assert n.publish_date <= d
        d = n.publish_date

    dummy_request.registry.settings['kotti_newsitem.num_news'] = 4

    assert len(view.news_listing()['items']) == 4

    root['news'] = Document(title=u'News')

    # What default views should be, and indeed are that in interactive
    # testing:
    #
    # default_views = [('default', u'Default view'),
    #                  ('folder_view', u'Folder view'),
    #                  ('news_listing', u'News Listing'), ]
    #
    # The assert below fails because it shows as a list with duplicated News
    # Listing items (second item should not be News Listing):
    #
    #    [('default', u'Default view'),
    #     ('news_listing', u'News Listing'),
    #     ('news_listing', u'News Listing'), ]
    #
    # assert root['news'].type_info.selectable_default_views == default_views

    request = DummyRequest(GET={'view_name': 'news_listing'})
    default_view = DefaultViewSelection(root["news"], request)
    assert type(default_view.set_default_view()) == HTTPFound

    view = NewsItemListViews(root['news'], dummy_request)
    assert len(view.news_listing()['items']) == 4