feat(FastAPI): add get_(errors|successes) testing HTML helpers

These functions will allow us to more easily check errors or success
messages when testing routes.

Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
Kevin Morris 2021-10-09 22:00:18 -07:00
parent 34c96ed81b
commit 27fbda5e7b
No known key found for this signature in database
GPG key ID: F7E46DED420788F3
2 changed files with 32 additions and 1 deletions

View file

@ -1,4 +1,5 @@
from io import StringIO
from typing import List
from lxml import etree
@ -12,3 +13,13 @@ def parse_root(html: str) -> etree.Element:
:return: etree.Element
"""
return etree.parse(StringIO(html), parser)
def get_errors(content: str) -> List[etree._Element]:
root = parse_root(content)
return root.xpath('//ul[@class="errorlist"]/li')
def get_successes(content: str) -> List[etree._Element]:
root = parse_root(content)
return root.xpath('//ul[@class="success"]/li')