This repository has been archived on 2020-09-29. You can view files and clone it, but cannot push or open issues/pull-requests.
flatfilecms/tests/test_pages.py

63 lines
1.6 KiB
Python

import pytest
@pytest.fixture
def current_directory():
from pathlib import Path
return Path(__file__).parent
@pytest.fixture
def pages(current_directory):
from flatfilecms.resources import Root
return Root(
str(current_directory / 'pages'),
str(current_directory / 'data'))
@pytest.fixture
def fake_request():
from pyramid.testing import DummyRequest
return DummyRequest()
@pytest.fixture
def config(current_directory):
from pyramid.testing import testConfig
with testConfig() as config:
config.include('pyramid_jinja2')
yield config
def test_loading(pages):
assert 'index' in pages
def test_loading_markdown(pages):
assert pages['index'].page['title'] == 'Заглушка для тестов БД'
def test_generating_markdown(pages, fake_request, config):
from flatfilecms.views.pages import PagesView
view = PagesView(pages['index'], fake_request)
assert view.process_yaml().text == 'Hello World!'
def test_view(pages, fake_request, config):
from flatfilecms.views.pages import PagesView
view = PagesView(pages['view'], fake_request)
assert view.process_yaml().text == 'Hello World! View1'
def test_view_with_options(pages, fake_request, config):
from flatfilecms.views.pages import PagesView
view = PagesView(pages['view-with-options'], fake_request)
assert view.process_yaml().text == 'Hello World! View4(a)'
def test_views(pages, fake_request, config):
from flatfilecms.views.pages import PagesView
view = PagesView(pages['views'], fake_request)
assert view.process_yaml().text == \
'Hello World! View1 View2 View3(a:1, b:2)'