Fix Weissman recipe time parsing
This commit is contained in:
@@ -6,10 +6,16 @@ ROOT = Path(__file__).resolve().parents[1]
|
||||
sys.path.insert(0, str(ROOT))
|
||||
|
||||
from app.services.tagging import curate_recipe_tags
|
||||
from app.services.recipe_importer import normalize_recipe_from_url
|
||||
from app.services.recipe_importer import normalize_recipe_from_url, parse_duration_minutes
|
||||
|
||||
|
||||
class TaggingTests(unittest.TestCase):
|
||||
def test_textual_durations_cover_weissman_style_time_strings(self):
|
||||
self.assertEqual(parse_duration_minutes('1 hr, 15 min'), 75)
|
||||
self.assertEqual(parse_duration_minutes('45 min + 12 hrs'), 765)
|
||||
self.assertEqual(parse_duration_minutes('30 minutes'), 30)
|
||||
self.assertEqual(parse_duration_minutes('90 sec'), 2)
|
||||
|
||||
def test_tater_tots_drop_boilerplate_and_gain_meaningful_tags(self):
|
||||
payload = normalize_recipe_from_url(
|
||||
'https://www.joshuaweissman.com/recipes/the-best-tater-tots-ever-recipe'
|
||||
@@ -21,6 +27,9 @@ class TaggingTests(unittest.TestCase):
|
||||
self.assertIn('tater-tots', payload['tags'])
|
||||
self.assertIn('side-dish', payload['tags'])
|
||||
self.assertNotIn('beef', payload['tags'])
|
||||
self.assertEqual(payload['prep_time'], 30)
|
||||
self.assertEqual(payload['cook_time'], 45)
|
||||
self.assertEqual(payload['time'], 75)
|
||||
|
||||
def test_halal_chicken_rice_drops_boilerplate_and_infers_cuisine(self):
|
||||
payload = normalize_recipe_from_url(
|
||||
@@ -33,6 +42,9 @@ class TaggingTests(unittest.TestCase):
|
||||
self.assertIn('chicken', payload['tags'])
|
||||
self.assertIn('rice', payload['tags'])
|
||||
self.assertNotIn('skillet', payload['tags'])
|
||||
self.assertEqual(payload['prep_time'], 30)
|
||||
self.assertEqual(payload['cook_time'], 45)
|
||||
self.assertEqual(payload['time'], 75)
|
||||
|
||||
def test_existing_machine_tags_can_be_replaced_when_recipe_content_disagrees(self):
|
||||
tags = curate_recipe_tags(
|
||||
|
||||
Reference in New Issue
Block a user