reflex/tests/units/test_page.py
Thomas Brandého 3f538865b5
reorganize all tests in a single top folder (#3981)
* 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
2024-09-26 01:22:52 +02:00

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"},
]