public async Task AddWish_Wish_ReturnWishId() { //Arrange DbContext.Wishlists.Add(new WishList() { UserId = 1, Name = "Wishlist 1", DirectoryName = "avavreghv", }); DbContext.SaveChanges(); var addWish = new AddWishDTO() { WishlistId = 1, Name = "Wish 1", Price = 88.99, URL = "www.wish1.com" }; //Act var operationResult = await wishService.AddAsync(addWish, UserId); //Assert Assert.IsTrue(operationResult.Status == OperationStatus.SUCCESS); Assert.AreEqual(1, operationResult.Data.Id); }
public async Task AddWish_WishlistDoesNotExist_ReturnNull() { //Arrange var addWish = new AddWishDTO() { WishlistId = 12345, Name = "Wish 1", Price = 88.99, URL = "www.wish1.com" }; //Act var operationResult = await wishService.AddAsync(addWish, UserId); //Assert Assert.IsNull(operationResult.Data); }
/// <summary> /// Adds new wish for given wishlistId /// </summary> /// <param name="addWishDTO">Wish to be added</param> /// <param name="userId">Id of user</param> /// <returns>Id of added wish or null if wishlist not found</returns> public async Task <OperationResult <WishDTO> > AddAsync(AddWishDTO addWishDTO, string userId) { Guard.IsNullEmptyOrWhiteSpace(userId, nameof(userId)); Guard.IsNull(addWishDTO, nameof(addWishDTO)); var wishlist = await dbContext.Wishlists .Include(wl => wl.User) .Include(wl => wl.Wishes) .FirstOrDefaultAsync(wl => wl.Id == addWishDTO.WishlistId && wl.User.Auth0Id == userId); if (wishlist == null) { return new OperationResult <WishDTO>() { Data = null, Status = OperationStatus.FAIL, Message = MessageHelper.CreateEntityNotFoundMessage(nameof(WishList), addWishDTO.WishlistId) } } ; var wish = new Wish() { Name = addWishDTO.Name, Price = addWishDTO.Price, URL = addWishDTO.URL }; wishlist.Wishes.Add(wish); await dbContext.SaveChangesAsync(); return(new OperationResult <WishDTO>() { Status = OperationStatus.SUCCESS, Data = new WishDTO() { Id = wish.Id, Name = wish.Name, Link = wish.URL, Price = wish.Price } }); }
public async Task AddWish_EmptyWishWithWishlistId_ReturnWishId() { //Arrange DbContext.Wishlists.Add(new WishList() { UserId = 1, Name = "Wishlist 1", DirectoryName = "avavreghv", }); DbContext.SaveChanges(); var addWish = new AddWishDTO() { WishlistId = 1, }; //Act var operationResult = await wishService.AddAsync(addWish, UserId); //Assert Assert.AreEqual(1, operationResult.Data.Id); }
public async Task <IActionResult> Post([FromBody] AddWishDTO wishDTO) { var operationResult = await wishService.AddAsync(wishDTO, this.HttpContext.User.SubjectId()); return(operationResult.Status == OperationStatus.SUCCESS? CreatedAtAction(nameof(Get), new { id = operationResult.Data.Id }, operationResult) : NotFound(operationResult)); }