57 lines
1.4 KiB
Python
57 lines
1.4 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 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, request, config):
|
|
from flatfilecms.views.pages import PagesView
|
|
view = PagesView(pages['index'], request)
|
|
assert view.process_yaml().text == 'Hello World!'
|
|
|
|
|
|
def test_view(pages, request, config):
|
|
from flatfilecms.views.pages import PagesView
|
|
view = PagesView(pages['view'], request)
|
|
assert view.process_yaml().text == 'Hello World! View1'
|
|
|
|
|
|
def test_views(pages, request, config):
|
|
from flatfilecms.views.pages import PagesView
|
|
view = PagesView(pages['views'], request)
|
|
assert view.process_yaml().text == \
|
|
'Hello World! View1 View2 View3(a:1, b:2)'
|