private void SetupHttpContextUser(BasketItemController controller, ClaimsPrincipal user) { controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = new DefaultHttpContext { User = user }; }
public async Task GetAllBasketItems_ReturnBasketItemsInOkObjectResult_WhenGetBasketItemsIsSuccess() { //Arrange var basketItems = new List <BasketItem>() { new BasketItem(10, 1, 1), new BasketItem(20, 1, 1) }; _mockService.Setup(service => service.GetAllBasketItems(It.IsAny <int>())) .ReturnsAsync(basketItems); // inject mocked IItemService and _mapper in controller var controller = new BasketItemController(_mockService.Object); SetupHttpContextUser(controller, _user); //Act var actionResult = await controller.GetAllBasketItems() as OkObjectResult; var resultObject = GetObjectResultContent <IEnumerable <BasketItem> >(actionResult); //Assert Assert.IsType <OkObjectResult>(actionResult); Assert.Equal(serializeObject(basketItems), serializeObject(resultObject)); }
public async Task AddBasketItem_ReturnBadRequestResult_WhenQuantityIsInvalid() { //Arrange var newBasketItem = new BasketItem(10, 1, 1); _mockService.Setup(service => service.AddBasketItem(It.IsAny <BasketItem>())) .ReturnsAsync(newBasketItem); var controller = new BasketItemController(_mockService.Object); SetupHttpContextUser(controller, _user); //Act var actionResult = await controller.AddBasketItem(10, 51); //Assert Assert.IsType <BadRequestObjectResult>(actionResult); }
public async Task UpdateQuantity_ReturnOkResult_WhenUpdateQuantityIsSuccess() { //Arrange var newBasketItem = new BasketItem(10, 1, 1); _mockService.Setup(service => service.GetBasketItemById(It.IsAny <int>())) .ReturnsAsync(newBasketItem); var controller = new BasketItemController(_mockService.Object); SetupHttpContextUser(controller, _user); //Act var actionResult = await controller.UpdateQuantity(10, 2); //Assert Assert.IsType <OkResult>(actionResult); }
public async Task RemoveBasketItem_ReturnUnauthorizedResult_WhenUserIsNotBasketItemOwner() { //Arrange var newBasketItem = new BasketItem(10, 2, 1); _mockService.Setup(service => service.GetBasketItemById(It.IsAny <int>())) .ReturnsAsync(newBasketItem); var controller = new BasketItemController(_mockService.Object); SetupHttpContextUser(controller, _user); //Act var actionResult = await controller.RemoveBasketItem(10); //Assert Assert.IsType <UnauthorizedResult>(actionResult); }
public async Task RemoveBasketItem_ReturnNotFoundResult_WhenBasketItemIsNull() { //Arrange var newBasketItem = new BasketItem(10, 1, 1); _mockService.Setup(service => service.GetBasketItemById(It.IsAny <int>())) .ReturnsAsync((BasketItem)null); var controller = new BasketItemController(_mockService.Object); SetupHttpContextUser(controller, _user); //Act var actionResult = await controller.RemoveBasketItem(10); //Assert Assert.IsType <NotFoundResult>(actionResult); }
public async Task AddBasketItem_ReturnBasketItemInOkObjectResult_WhenAddBasketItemIsSuccess() { //Arrange var newBasketItem = new BasketItem(10, 1, 1); _mockService.Setup(service => service.AddBasketItem(It.IsAny <BasketItem>())) .ReturnsAsync(newBasketItem); var controller = new BasketItemController(_mockService.Object); SetupHttpContextUser(controller, _user); //Act var actionResult = await controller.AddBasketItem(10, 1) as OkObjectResult; var resultObject = GetObjectResultContent <BasketItem>(actionResult); //Assert Assert.IsType <OkObjectResult>(actionResult); Assert.Equal(serializeObject(newBasketItem), serializeObject(resultObject)); }
public async Task GetAllBasketItems_ReturnNotFoundResult_whenBasketItemsIsNull() { //Arrange var basketItems = new List <BasketItem>() { new BasketItem(10, 1, 1), new BasketItem(20, 1, 1) }; _mockService.Setup(service => service.GetAllBasketItems(It.IsAny <int>())) .ReturnsAsync((IEnumerable <BasketItem>)null); // inject mocked IItemService and _mapper in controller var controller = new BasketItemController(_mockService.Object); SetupHttpContextUser(controller, _user); //Act var actionResult = await controller.GetAllBasketItems(); //Assert Assert.IsType <NotFoundResult>(actionResult); }
public BasketItemControllerTest() { _basketItemAddRequest = _fixture.Create <BasketItemAddRequestModel>(); _sut = new BasketItemController(_basketService.Object); }