63 lines
1.6 KiB
Python
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)'
|