import asyncio import os import fastapi # noinspection PyPackageRequirements import pytest import fastapi_chameleon as fc from fastapi_chameleon.exceptions import FastAPIChameleonException here = os.path.dirname(__file__) folder = os.path.join(here, 'templates') def test_cannot_decorate_missing_template(): with pytest.raises(ValueError): @fc.template('home/missing.pt') def view_method(): return {} view_method() def test_requires_template_for_default_name(): with pytest.raises(ValueError): @fc.template(None) def view_method(): return {} view_method() def test_default_template_name(): @fc.template() def index(a, b, c): return {'a': a, 'b': b, 'c': c, 'world': 'WORLD'} resp = index(1, 2, 3) assert isinstance(resp, fastapi.Response) assert resp.status_code == 200 html = resp.body.decode('utf-8') assert '