public async Task <ActionResult <List <KitchenUserDto> > > GetAcceptedUsersForKitchen(long kitchenId) { PantryPlannerUser user; List <KitchenUserDto> kitchenUsers; try { user = await _userManager.GetUserFromCookieOrJwtAsync(this.User); } catch (PermissionsException e) { // this will be thrown if the user is null return(Unauthorized(e.Message)); } catch (Exception e) { return(StatusCode(StatusCodes.Status500InternalServerError, e.Message)); } try { kitchenUsers = KitchenUserDto.ToList(_service.GetAcceptedUsersForKitchenById(kitchenId, user)); } catch (ArgumentNullException e) { return(BadRequest(e.Message)); } catch (KitchenNotFoundException e) { return(NotFound(e.Message)); } catch (PermissionsException e) { return(Unauthorized(e.Message)); } catch (Exception e) { return(StatusCode(StatusCodes.Status500InternalServerError, e.Message)); } if (kitchenUsers == null) { return(NotFound("No users found for kitchen")); } return(kitchenUsers); }
public async Task GetAcceptedUsersForKitchen_ValidKitchen_ReturnsCorrectResult() { Kitchen kitchen = _userManager.TestUser.KitchenUser.FirstOrDefault()?.Kitchen; if (kitchen == null) { throw new Exception("kitchen is not setup for testing"); } List <KitchenUserDto> expectedResult = KitchenUserDto.ToList(_context.KitchenUser.Where(k => k.KitchenId == kitchen.KitchenId && k.HasAcceptedInvite.Value).ToList()); ActionResult <List <KitchenUserDto> > allUsersResult = await _controller.GetAcceptedUsersForKitchen(kitchen.KitchenId); Assert.Equal(expectedResult.Count, allUsersResult.Value.Count); }
public async Task <ActionResult <List <KitchenUserDto> > > GetKitchenInvitesForLoggedInUser() { PantryPlannerUser user; List <KitchenUserDto> myInvites; try { user = await _userManager.GetUserFromCookieOrJwtAsync(this.User); } catch (PermissionsException e) { // this will be thrown if the user is null return(Unauthorized(e.Message)); } catch (Exception e) { return(StatusCode(StatusCodes.Status500InternalServerError, e.Message)); } try { myInvites = KitchenUserDto.ToList(_service.GetMyInvites(user)); } catch (ArgumentNullException e) { return(BadRequest(e.Message)); } catch (UserNotFoundException e) { return(NotFound(e.Message)); } catch (Exception e) { return(StatusCode(StatusCodes.Status500InternalServerError, e.Message)); } if (myInvites == null) { return(NotFound("No invites found for user")); } return(myInvites); }