fixed pytests
This commit is contained in:
@ -5,12 +5,11 @@ import uuid
|
||||
|
||||
import pytest
|
||||
from django.contrib import auth
|
||||
from django.contrib.auth.models import Group, User
|
||||
from django_scopes import scopes_disabled
|
||||
from pytest_factoryboy import LazyFixture, register
|
||||
from pytest_factoryboy import register
|
||||
|
||||
from cookbook.models import Food, Ingredient, Recipe, Space, Step, Unit
|
||||
from cookbook.tests.factories import FoodFactory, SpaceFactory, UserFactory
|
||||
from cookbook.models import Food, Ingredient, Recipe, Step, Unit
|
||||
from cookbook.tests.factories import SpaceFactory, UserFactory
|
||||
|
||||
register(SpaceFactory, 'space_1')
|
||||
register(SpaceFactory, 'space_2')
|
||||
@ -60,8 +59,10 @@ def get_random_recipe(space_1, u1_s1):
|
||||
internal=True,
|
||||
)
|
||||
|
||||
s1 = Step.objects.create(name=str(uuid.uuid4()), instruction=str(uuid.uuid4()), space=space_1, )
|
||||
s2 = Step.objects.create(name=str(uuid.uuid4()), instruction=str(uuid.uuid4()), space=space_1, )
|
||||
s1 = Step.objects.create(name=str(uuid.uuid4()),
|
||||
instruction=str(uuid.uuid4()), space=space_1, )
|
||||
s2 = Step.objects.create(name=str(uuid.uuid4()),
|
||||
instruction=str(uuid.uuid4()), space=space_1, )
|
||||
|
||||
r.steps.add(s1)
|
||||
r.steps.add(s2)
|
||||
@ -70,8 +71,10 @@ def get_random_recipe(space_1, u1_s1):
|
||||
s1.ingredients.add(
|
||||
Ingredient.objects.create(
|
||||
amount=1,
|
||||
food=Food.objects.get_or_create(name=str(uuid.uuid4()), space=space_1)[0],
|
||||
unit=Unit.objects.create(name=str(uuid.uuid4()), space=space_1, ),
|
||||
food=Food.objects.get_or_create(
|
||||
name=str(uuid.uuid4()), space=space_1)[0],
|
||||
unit=Unit.objects.create(
|
||||
name=str(uuid.uuid4()), space=space_1, ),
|
||||
note=str(uuid.uuid4()),
|
||||
space=space_1,
|
||||
)
|
||||
@ -80,8 +83,10 @@ def get_random_recipe(space_1, u1_s1):
|
||||
s2.ingredients.add(
|
||||
Ingredient.objects.create(
|
||||
amount=1,
|
||||
food=Food.objects.get_or_create(name=str(uuid.uuid4()), space=space_1)[0],
|
||||
unit=Unit.objects.create(name=str(uuid.uuid4()), space=space_1, ),
|
||||
food=Food.objects.get_or_create(
|
||||
name=str(uuid.uuid4()), space=space_1)[0],
|
||||
unit=Unit.objects.create(
|
||||
name=str(uuid.uuid4()), space=space_1, ),
|
||||
note=str(uuid.uuid4()),
|
||||
space=space_1,
|
||||
)
|
||||
@ -99,8 +104,10 @@ def get_random_json_recipe():
|
||||
{
|
||||
"instruction": str(uuid.uuid4()),
|
||||
"ingredients": [
|
||||
{"food": {"name": str(uuid.uuid4())}, "unit": {"name": str(uuid.uuid4())}, "amount": random.randint(0, 10)},
|
||||
{"food": {"name": str(uuid.uuid4())}, "unit": {"name": str(uuid.uuid4())}, "amount": random.randint(0, 10)},
|
||||
{"food": {"name": str(uuid.uuid4())}, "unit": {"name": str(
|
||||
uuid.uuid4())}, "amount": random.randint(0, 10)},
|
||||
{"food": {"name": str(uuid.uuid4())}, "unit": {"name": str(
|
||||
uuid.uuid4())}, "amount": random.randint(0, 10)},
|
||||
],
|
||||
}
|
||||
],
|
||||
@ -133,7 +140,8 @@ def validate_recipe(expected, recipe):
|
||||
for key in expected_lists:
|
||||
for k in expected_lists[key]:
|
||||
try:
|
||||
print('comparing ', any([dict_compare(k, i) for i in target_lists[key]]))
|
||||
print('comparing ', any([dict_compare(k, i)
|
||||
for i in target_lists[key]]))
|
||||
assert any([dict_compare(k, i) for i in target_lists[key]])
|
||||
except AssertionError:
|
||||
for result in [dict_compare(k, i, details=True) for i in target_lists[key]]:
|
||||
@ -152,7 +160,8 @@ def dict_compare(d1, d2, details=False):
|
||||
added = d1_keys - d2_keys
|
||||
removed = d2_keys - d1_keys
|
||||
modified = {o: (d1[o], d2[o]) for o in not_dicts if d1[o] != d2[o]}
|
||||
modified_dicts = {o: (d1[o], d2[o]) for o in sub_dicts if not d1[o].items() <= d2[o].items()}
|
||||
modified_dicts = {o: (d1[o], d2[o])
|
||||
for o in sub_dicts if not d1[o].items() <= d2[o].items()}
|
||||
if details:
|
||||
return added, removed, modified, modified_dicts
|
||||
else:
|
||||
@ -173,12 +182,12 @@ def transpose(text, number=2):
|
||||
positions = random.sample(range(len(tokens[token_pos])), number)
|
||||
|
||||
# swap the positions
|
||||
l = list(tokens[token_pos])
|
||||
lt = list(tokens[token_pos])
|
||||
for first, second in zip(positions[::2], positions[1::2]):
|
||||
l[first], l[second] = l[second], l[first]
|
||||
lt[first], lt[second] = lt[second], lt[first]
|
||||
|
||||
# replace original tokens with swapped
|
||||
tokens[token_pos] = ''.join(l)
|
||||
tokens[token_pos] = ''.join(lt)
|
||||
|
||||
# return text with the swapped token
|
||||
return ' '.join(tokens)
|
||||
|
Reference in New Issue
Block a user