Skip to content
Snippets Groups Projects
view_tests.py 1.20 KiB
from __future__ import unicode_literals, absolute_import
import pytest

from ..views import TabbedPageView

from .factories import TabbedPageFactory, TabInstanceFactory


@pytest.mark.django_db
def test_page_stored_on_view():
    page = TabbedPageFactory()
    TabbedPageFactory()

    view = TabbedPageView()
    view.kwargs = {'name': page.name}

    assert view.page == page


@pytest.mark.django_db
def test_page_defaults_to_main_when_not_set():
    page = TabbedPageFactory(name='main')
    TabbedPageFactory(name='other')

    view = TabbedPageView()
    view.kwargs = {}

    assert view.page == page


@pytest.mark.django_db
def test_name_defaults_to_main_when_empty():
    page = TabbedPageFactory(name='main')
    TabbedPageFactory(name='other')

    view = TabbedPageView()
    view.kwargs = {'name': ''}

    assert view.page == page


@pytest.mark.django_db
def test_widgets_stored_on_view_in_position_order():
    page = TabbedPageFactory()
    tab3 = TabInstanceFactory(page=page, position=3)
    tab1 = TabInstanceFactory(page=page, position=1)
    tab2 = TabInstanceFactory(page=page, position=2)

    view = TabbedPageView()
    view.kwargs = {'name': page.name}

    assert list(view.tabs) == [tab1, tab2, tab3]