test parse_recipe_name
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -1,7 +1,47 @@
|
||||
from recipe_graph import scrape
|
||||
from bs4 import BeautifulSoup
|
||||
from recipe_graph.db import RecipeSite, Recipe, RecipeIngredient, RecipeIngredientParts
|
||||
|
||||
import pytest
|
||||
from pytest import fixture
|
||||
|
||||
|
||||
@fixture
|
||||
def mock_site():
|
||||
return RecipeSite(
|
||||
name="mock-site",
|
||||
ingredient_class="mock-ing",
|
||||
name_class="mock-name",
|
||||
base_url="example-site/mock-site",
|
||||
)
|
||||
|
||||
|
||||
# TODO: should probably load HTML from file
|
||||
@fixture
|
||||
def mock_page():
|
||||
return BeautifulSoup(
|
||||
"""
|
||||
<header></header><body>
|
||||
<div class="mock-name">test_recipe</div>
|
||||
<div class="mock-ing">test_ingredient</div>
|
||||
</body>
|
||||
""",
|
||||
"html.parser",
|
||||
)
|
||||
|
||||
|
||||
@fixture
|
||||
def mock_blank_page():
|
||||
return BeautifulSoup(""" <header></header><body> </body> """, "html.parser")
|
||||
|
||||
|
||||
@fixture
|
||||
def mock_recipe():
|
||||
return Recipe(name="test_recipe", identifier="mock_1")
|
||||
|
||||
|
||||
@fixture
|
||||
def mock_url():
|
||||
return "example-site/mock-site"
|
||||
|
||||
|
||||
def test_load_page():
|
||||
@@ -23,3 +63,18 @@ def test_ingredient_regex():
|
||||
regex.pattern
|
||||
== "((?:[\\d\\./\\u00BC-\\u00BE\\u2150-\\u215E]*\\s?(?:\\(.+\\))?)*)((?:(?:[cC]up|[oO]unce)e?s?)?)((?:(?:(?:[cC]rushed|[gG]round)(?:ly)?)| )*)([a-zA-Z '\\-]+),?(.*)"
|
||||
)
|
||||
|
||||
|
||||
def test_parse_recipe_name(mock_site, mock_page, mock_recipe, mock_url):
|
||||
expected_name = mock_recipe.name
|
||||
mock_recipe.name = None
|
||||
|
||||
mock_recipe = scrape.parse_recipe_name(
|
||||
mock_site,
|
||||
mock_page,
|
||||
mock_recipe,
|
||||
mock_url,
|
||||
)
|
||||
assert mock_recipe.name == expected_name
|
||||
# assert False
|
||||
|
||||
|
||||
Reference in New Issue
Block a user