Fix the feature tests.
This commit is contained in:
parent
202d712893
commit
00bffe33c2
|
@ -84,7 +84,7 @@ def ui(ctx, server_host='localhost:5000', verbosity=0, test_tag='', randomize=Fa
|
||||||
:param randomize: Flag whether or not to randomize test order.
|
:param randomize: Flag whether or not to randomize test order.
|
||||||
"""
|
"""
|
||||||
test_command = _prepare_py_test_command(
|
test_command = _prepare_py_test_command(
|
||||||
'tests/functional',
|
'tests/feature',
|
||||||
verbosity=verbosity,
|
verbosity=verbosity,
|
||||||
server_host=server_host,
|
server_host=server_host,
|
||||||
splinter_webdriver='remote',
|
splinter_webdriver='remote',
|
||||||
|
|
|
@ -10,9 +10,11 @@ import collections
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from rookeries import database as rookeries_db
|
from rookeries import database as rookeries_db
|
||||||
|
from rookeries.pages import models as page_models
|
||||||
from rookeries.sites import models as site_models
|
from rookeries.sites import models as site_models
|
||||||
from tests import utils
|
from tests import utils
|
||||||
|
from tests.server.test_serve_page_views import TEST_PAGE_TITLE, \
|
||||||
|
TEST_PAGE_CONTENT
|
||||||
|
|
||||||
TestSiteInfo = collections.namedtuple('TestSiteInfo', ['menu', 'landing_page'])
|
TestSiteInfo = collections.namedtuple('TestSiteInfo', ['menu', 'landing_page'])
|
||||||
|
|
||||||
|
@ -74,3 +76,25 @@ def test_site(db) -> site_models.Site:
|
||||||
return site_models.Site(
|
return site_models.Site(
|
||||||
**db.find_document({'type': site_models.Site.doc_type()}).json()['docs'][0]
|
**db.find_document({'type': site_models.Site.doc_type()}).json()['docs'][0]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
# TODO: Refactor into a utility function and separate fixtures per test module.
|
||||||
|
@pytest.fixture(scope='module')
|
||||||
|
def test_page(db):
|
||||||
|
test_page_slug = f'test-{utils.generate_random_suffix()}'
|
||||||
|
|
||||||
|
# TODO: Should check if page exists first.
|
||||||
|
|
||||||
|
test_page_ = page_models.Page(
|
||||||
|
slug=test_page_slug,
|
||||||
|
title=TEST_PAGE_TITLE,
|
||||||
|
content=TEST_PAGE_CONTENT
|
||||||
|
)
|
||||||
|
|
||||||
|
db.create_document(doc=test_page_.to_db_json())
|
||||||
|
return page_models.Page(
|
||||||
|
**db.find_document({
|
||||||
|
'type': page_models.Page.doc_type(),
|
||||||
|
'slug': test_page_slug,
|
||||||
|
}).json()['docs'][0]
|
||||||
|
)
|
|
@ -9,9 +9,7 @@ Note that [tests can not assert on the status code due to bug in selenium based
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
import sqlalchemy
|
|
||||||
|
|
||||||
from rookeries.pages import models as page_models
|
|
||||||
from tests import utils
|
from tests import utils
|
||||||
|
|
||||||
TEST_PAGE_TITLE = 'License'
|
TEST_PAGE_TITLE = 'License'
|
||||||
|
@ -30,28 +28,8 @@ def splinter_driver_kwargs():
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='module')
|
|
||||||
def test_page(db_engine):
|
|
||||||
session = sqlalchemy.orm.sessionmaker(bind=db_engine, autocommit=True)()
|
|
||||||
session.begin()
|
|
||||||
|
|
||||||
test_page_slug = f'test-{utils.generate_random_suffix()}'
|
|
||||||
test_page_ = session.query(page_models.Page).filter((page_models.Page.slug == test_page_slug)).first()
|
|
||||||
|
|
||||||
if not test_page_:
|
|
||||||
test_page_ = page_models.Page(slug=test_page_slug, title=TEST_PAGE_TITLE, content=TEST_PAGE_CONTENT)
|
|
||||||
session.add(test_page_)
|
|
||||||
|
|
||||||
test_page_ = session.query(page_models.Page).filter((page_models.Page.slug == test_page_slug)).first()
|
|
||||||
|
|
||||||
test_page_json = test_page_.to_json()
|
|
||||||
session.commit()
|
|
||||||
session.close()
|
|
||||||
return test_page_json
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.skip('FIXME once page setup figured out')
|
@pytest.mark.skip('FIXME once page setup figured out')
|
||||||
def test_basic_page_setup_returns_page_not_found_on_unknown_page(browser, api_base_uri):
|
def test_basic_page_setup_returns_page_not_found_on_unknown_page(browser, api_base_uri, test_page):
|
||||||
unknown_test_page = utils.generate_random_suffix()
|
unknown_test_page = utils.generate_random_suffix()
|
||||||
browser.visit(f'{api_base_uri}/{unknown_test_page}')
|
browser.visit(f'{api_base_uri}/{unknown_test_page}')
|
||||||
|
|
||||||
|
|
|
@ -8,12 +8,8 @@ Unit tests for testing serving of page content.
|
||||||
import http
|
import http
|
||||||
from unittest import mock
|
from unittest import mock
|
||||||
|
|
||||||
import pytest
|
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
from rookeries.pages import models as page_models
|
|
||||||
from tests import utils
|
|
||||||
|
|
||||||
TEST_PAGE_TITLE = 'Testing Page'
|
TEST_PAGE_TITLE = 'Testing Page'
|
||||||
TEST_PAGE_CONTENT = '''
|
TEST_PAGE_CONTENT = '''
|
||||||
# Hello World
|
# Hello World
|
||||||
|
@ -22,27 +18,6 @@ I'm a test page.
|
||||||
|
|
||||||
|
|
||||||
# TODO: Change these tests to be bdd style functional tests.
|
# TODO: Change these tests to be bdd style functional tests.
|
||||||
@pytest.fixture(scope='module')
|
|
||||||
def test_page(db):
|
|
||||||
test_page_slug = f'test-{utils.generate_random_suffix()}'
|
|
||||||
|
|
||||||
# TODO: Should check if page exists first.
|
|
||||||
|
|
||||||
test_page_ = page_models.Page(
|
|
||||||
slug=test_page_slug,
|
|
||||||
title=TEST_PAGE_TITLE,
|
|
||||||
content=TEST_PAGE_CONTENT
|
|
||||||
)
|
|
||||||
|
|
||||||
db.create_document(doc=test_page_.to_db_json())
|
|
||||||
return page_models.Page(
|
|
||||||
**db.find_document({
|
|
||||||
'type': page_models.Page.doc_type(),
|
|
||||||
'slug': test_page_slug,
|
|
||||||
}).json()['docs'][0]
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def test_serve_page_returns_journal_entry_as_json(api_base_uri, test_page):
|
def test_serve_page_returns_journal_entry_as_json(api_base_uri, test_page):
|
||||||
expected_info = {
|
expected_info = {
|
||||||
'slug': test_page.slug,
|
'slug': test_page.slug,
|
||||||
|
|
Loading…
Reference in New Issue