
* lift node version restraint to allow more recent version if already installed * add node test for latest version * change python version * use purple for debug logs * update workflow * add playwright dev dependency * update workflow * change test * oops * improve test * update test * fix tests * mv units tests to a subfolder * reorganize tests * fix install * update test_state * revert node changes and only keep new tests organization * move integration tests in tests/integration * fix integration workflow * fix dockerfile workflow * fix dockerfile workflow 2 * fix shared_state
80 lines
2.0 KiB
Python
80 lines
2.0 KiB
Python
from reflex import text
|
|
from reflex.config import get_config
|
|
from reflex.page import DECORATED_PAGES, get_decorated_pages, page
|
|
|
|
|
|
def test_page_decorator():
|
|
def foo_():
|
|
return text("foo")
|
|
|
|
assert len(DECORATED_PAGES) == 0
|
|
decorated_foo_ = page()(foo_)
|
|
assert decorated_foo_ == foo_
|
|
assert len(DECORATED_PAGES) == 1
|
|
page_data = DECORATED_PAGES.get(get_config().app_name, [])[0][1]
|
|
assert page_data == {}
|
|
DECORATED_PAGES.clear()
|
|
|
|
|
|
def test_page_decorator_with_kwargs():
|
|
def foo_():
|
|
return text("foo")
|
|
|
|
def load_foo():
|
|
return []
|
|
|
|
DECORATED_PAGES.clear()
|
|
assert len(DECORATED_PAGES) == 0
|
|
decorated_foo_ = page(
|
|
route="foo",
|
|
title="Foo",
|
|
image="foo.png",
|
|
description="Foo description",
|
|
meta=["foo-meta"],
|
|
script_tags=["foo-script"],
|
|
on_load=load_foo,
|
|
)(foo_)
|
|
assert decorated_foo_ == foo_
|
|
assert len(DECORATED_PAGES) == 1
|
|
page_data = DECORATED_PAGES.get(get_config().app_name, [])[0][1]
|
|
assert page_data == {
|
|
"description": "Foo description",
|
|
"image": "foo.png",
|
|
"meta": ["foo-meta"],
|
|
"on_load": load_foo,
|
|
"route": "foo",
|
|
"script_tags": ["foo-script"],
|
|
"title": "Foo",
|
|
}
|
|
|
|
DECORATED_PAGES.clear()
|
|
|
|
|
|
def test_get_decorated_pages():
|
|
assert get_decorated_pages() == []
|
|
|
|
def foo_():
|
|
return text("foo")
|
|
|
|
page()(foo_)
|
|
|
|
assert get_decorated_pages() == []
|
|
assert get_decorated_pages(omit_implicit_routes=False) == [{}]
|
|
|
|
page(route="foo2")(foo_)
|
|
|
|
assert get_decorated_pages() == [{"route": "foo2"}]
|
|
assert get_decorated_pages(omit_implicit_routes=False) == [{}, {"route": "foo2"}]
|
|
|
|
page(route="foo3", title="Foo3")(foo_)
|
|
|
|
assert get_decorated_pages() == [
|
|
{"route": "foo2"},
|
|
{"route": "foo3", "title": "Foo3"},
|
|
]
|
|
assert get_decorated_pages(omit_implicit_routes=False) == [
|
|
{},
|
|
{"route": "foo2"},
|
|
{"route": "foo3", "title": "Foo3"},
|
|
]
|