diff --git a/cookbook/tests/api/test_api_meal_plan.py b/cookbook/tests/api/test_api_meal_plan.py index aa20ebf46..b27f6a0b5 100644 --- a/cookbook/tests/api/test_api_meal_plan.py +++ b/cookbook/tests/api/test_api_meal_plan.py @@ -4,9 +4,10 @@ from datetime import datetime, timedelta import pytest from django.contrib import auth from django.urls import reverse -from django_scopes import scopes_disabled +from django_scopes import scope, scopes_disabled from cookbook.models import Food, MealPlan, MealType +from cookbook.tests.factories import RecipeFactory LIST_URL = 'api:mealplan-list' DETAIL_URL = 'api:mealplan-detail' @@ -141,3 +142,17 @@ def test_delete(u1_s1, u1_s2, obj_1): assert r.status_code == 204 with scopes_disabled(): assert MealPlan.objects.count() == 0 + + +def test_add_with_shopping(u1_s1, meal_type): + space = meal_type.space + with scope(space=space): + recipe = RecipeFactory.create(space=space) + r = u1_s1.post( + reverse(LIST_URL), + {'recipe': {'id': recipe.id, 'name': recipe.name, 'keywords': []}, 'meal_type': {'id': meal_type.id, 'name': meal_type.name}, + 'date': (datetime.now()).strftime("%Y-%m-%d"), 'servings': 1, 'title': 'test', 'shared': [], 'addshopping': True}, + content_type='application/json' + ) + + assert len(json.loads(u1_s1.get(reverse('api:shoppinglistentry-list')).content)) == 10 diff --git a/cookbook/tests/api/test_api_shopping_recipe.py b/cookbook/tests/api/test_api_shopping_recipe.py index 821421d87..00349cb3b 100644 --- a/cookbook/tests/api/test_api_shopping_recipe.py +++ b/cookbook/tests/api/test_api_shopping_recipe.py @@ -224,3 +224,6 @@ def test_shopping_recipe_mixed_authors(u1_s1, u2_s1): u1_s1.put(reverse(SHOPPING_RECIPE_URL, args={recipe1.id})) assert len(json.loads(u1_s1.get(reverse(SHOPPING_LIST_URL)).content)) == 29 assert len(json.loads(u2_s1.get(reverse(SHOPPING_LIST_URL)).content)) == 0 + + +# TODO test failing to adding recipe with ingredients that are not food diff --git a/vue/src/apps/ModelListView/ModelListView.vue b/vue/src/apps/ModelListView/ModelListView.vue index c6d037659..92420b013 100644 --- a/vue/src/apps/ModelListView/ModelListView.vue +++ b/vue/src/apps/ModelListView/ModelListView.vue @@ -315,7 +315,6 @@ export default { this.genericAPI(this.this_model, this.Actions.MOVE, { source: source_id, target: target_id }) .then((result) => { this.moveUpdateItem(source_id, target_id) - // TODO make standard toast StandardToasts.makeStandardToast(StandardToasts.SUCCESS_MOVE) }) .catch((err) => { @@ -355,7 +354,6 @@ export default { }) .then((result) => { this.mergeUpdateItem(source_id, target_id) - // TODO make standard toast StandardToasts.makeStandardToast(StandardToasts.SUCCESS_MERGE) }) .catch((err) => { diff --git a/vue/src/components/Modals/LookupInput.vue b/vue/src/components/Modals/LookupInput.vue index 00a87a168..b1e766fdd 100644 --- a/vue/src/components/Modals/LookupInput.vue +++ b/vue/src/components/Modals/LookupInput.vue @@ -80,9 +80,7 @@ export default { } else { arrayValues = [{ id: -1, name: this_value }] } - - console.log(arrayValues) - if (this.form?.ordered && this.first_run) { + if (this.form?.ordered && this.first_run && arrayValues.length > 0) { return this.flattenItems(arrayValues) } else { return arrayValues diff --git a/vue/src/components/RecipeContextMenu.vue b/vue/src/components/RecipeContextMenu.vue index 6e43470b8..7cd24e5e3 100644 --- a/vue/src/components/RecipeContextMenu.vue +++ b/vue/src/components/RecipeContextMenu.vue @@ -125,8 +125,6 @@ export default { entry.date = moment(entry.date).format("YYYY-MM-DD") let apiClient = new ApiApiFactory() - console.log("etnry", entry) - apiClient .createMealPlan(entry) .then((result) => { diff --git a/vue/src/utils/utils.js b/vue/src/utils/utils.js index 73d1259ff..49ca2f715 100644 --- a/vue/src/utils/utils.js +++ b/vue/src/utils/utils.js @@ -369,7 +369,7 @@ export function getForm(model, action, item1, item2) { if (f === "partialUpdate" && Object.keys(config).length == 0) { config = { ...Actions.CREATE?.form, ...model.model_type?.["create"]?.form, ...model?.["create"]?.form } config["title"] = { ...action?.form_title, ...model.model_type?.[f]?.form_title, ...model?.[f]?.form_title } - if (config["form_function"].includes("Create")) { + if (config?.["form_function"]?.includes("Create")) { delete config["form_function"] } }