2019-02-10 23:21:47 +03:00
|
|
|
import pytest
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture
|
2019-05-21 20:31:11 +03:00
|
|
|
def pages(current_directory, config):
|
2019-02-10 23:21:47 +03:00
|
|
|
from flatfilecms.resources import Root
|
2019-02-23 23:51:06 +03:00
|
|
|
return Root(
|
2019-05-21 20:31:11 +03:00
|
|
|
str(current_directory / 'pages'))
|
2019-02-10 23:21:47 +03:00
|
|
|
|
|
|
|
|
|
|
|
def test_loading(pages):
|
|
|
|
assert 'index' in pages
|
|
|
|
|
|
|
|
|
2019-02-23 23:51:06 +03:00
|
|
|
def test_loading_markdown(pages):
|
2019-02-16 20:05:09 +03:00
|
|
|
assert pages['index'].page['title'] == 'Заглушка для тестов БД'
|
2019-02-23 23:51:06 +03:00
|
|
|
|
|
|
|
|
2019-02-24 00:17:06 +03:00
|
|
|
def test_generating_markdown(pages, fake_request, config):
|
2019-02-23 23:51:06 +03:00
|
|
|
from flatfilecms.views.pages import PagesView
|
2019-02-24 00:17:06 +03:00
|
|
|
view = PagesView(pages['index'], fake_request)
|
2019-02-23 23:51:06 +03:00
|
|
|
assert view.process_yaml().text == 'Hello World!'
|
|
|
|
|
|
|
|
|
2019-02-24 00:17:06 +03:00
|
|
|
def test_view(pages, fake_request, config):
|
2019-02-23 23:51:06 +03:00
|
|
|
from flatfilecms.views.pages import PagesView
|
2019-02-24 00:17:06 +03:00
|
|
|
view = PagesView(pages['view'], fake_request)
|
2019-02-23 23:51:06 +03:00
|
|
|
assert view.process_yaml().text == 'Hello World! View1'
|
|
|
|
|
|
|
|
|
2019-02-24 03:16:38 +03:00
|
|
|
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)'
|
|
|
|
|
|
|
|
|
2019-02-24 00:17:06 +03:00
|
|
|
def test_views(pages, fake_request, config):
|
2019-02-23 23:51:06 +03:00
|
|
|
from flatfilecms.views.pages import PagesView
|
2019-02-24 00:17:06 +03:00
|
|
|
view = PagesView(pages['views'], fake_request)
|
2019-02-23 23:51:06 +03:00
|
|
|
assert view.process_yaml().text == \
|
|
|
|
'Hello World! View1 View2 View3(a:1, b:2)'
|
2019-03-03 01:22:04 +03:00
|
|
|
|
|
|
|
|
|
|
|
def test_blogindex(pages, fake_request, config):
|
|
|
|
from flatfilecms.views import blog
|
|
|
|
from flatfilecms.views.pages import PagesView
|
|
|
|
fake_view_object = PagesView(pages['blog']['index'], fake_request)
|
2019-03-04 19:49:46 +03:00
|
|
|
response = blog(fake_view_object, {'base': '/blog'})
|
|
|
|
assert response.text == '/blog/blogpost2 /blog/blogpost1 '
|
2019-05-15 18:35:28 +03:00
|
|
|
|
|
|
|
|
|
|
|
def test_sitemap(pages, fake_request, config):
|
|
|
|
from flatfilecms.views.pages import PagesView
|
|
|
|
response = PagesView(pages['sitemap.xml'], fake_request).process_yaml()
|
|
|
|
assert response.text == """<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
|
|
<url>
|
|
|
|
<loc>https://flatfilecms.test/</loc>
|
|
|
|
</url>
|
|
|
|
<url>
|
|
|
|
<loc>https://flatfilecms.test/view</loc>
|
|
|
|
</url>
|
|
|
|
<url>
|
|
|
|
<loc>https://flatfilecms.test/views</loc>
|
|
|
|
</url>
|
|
|
|
<url>
|
|
|
|
<loc>https://flatfilecms.test/view-with-options</loc>
|
|
|
|
</url>
|
2019-05-21 20:31:11 +03:00
|
|
|
<url>
|
|
|
|
<loc>https://flatfilecms.test/menu</loc>
|
|
|
|
</url>
|
2019-05-15 18:35:28 +03:00
|
|
|
</urlset>"""
|
|
|
|
assert response.content_type == 'text/xml'
|
2019-05-21 20:31:11 +03:00
|
|
|
|
|
|
|
|
|
|
|
def test_menu(pages, fake_request, config):
|
|
|
|
from flatfilecms.views.pages import PagesView
|
|
|
|
response = PagesView(pages['menu'], fake_request).process_yaml()
|
|
|
|
assert response.text == 'Menu - OK'
|