public async Task <ActionResult <KitchenIngredient> > DeleteKitchenIngredientAsync(long id) { PantryPlannerUser user; try { user = await _userManager.GetUserFromCookieOrJwtAsync(this.User); KitchenIngredient deletedIngredient = _service.DeleteKitchenIngredient(id, user); return(Ok(new KitchenIngredientDto(deletedIngredient))); } catch (ArgumentNullException e) { return(BadRequest(e.Message)); } catch (IngredientNotFoundException e) { return(NotFound(e.Message)); } catch (PermissionsException e) { return(Unauthorized(e.Message)); } catch (Exception e) { return(StatusCode(StatusCodes.Status500InternalServerError, e.Message)); } }
public void DeleteKitchenIngredient_NullArguments_ThrowsArgumentNullException() { Kitchen kitchen = _testUser.KitchenUser.FirstOrDefault().Kitchen; KitchenIngredient ingredientToDelete = kitchen.KitchenIngredient.FirstOrDefault(); if (ingredientToDelete == null || kitchen == null) { throw new ArgumentNullException("ingredient or kitchen is not setup for testing"); } Assert.Throws <ArgumentNullException>(() => { _service.DeleteKitchenIngredient(null, _testUser); }); Assert.Throws <ArgumentNullException>(() => { _service.DeleteKitchenIngredient(ingredientToDelete, null); }); }