public async Task Doing_Checkout_Wit_Basket_Should_Publish_UserCheckoutAccepted_Integration_Event() { var fakeCustomerId = "1"; var fakeCustomerBasket = GetCustomerBasketFake(fakeCustomerId); _basketRepositoryMock.Setup(x => x.GetBasketAsync(It.IsAny <string>())) .Returns(Task.FromResult(fakeCustomerBasket)); _identityServiceMock.Setup(x => x.GetUserIdentity()).Returns(fakeCustomerId); var basketController = new BasketController( _basketRepositoryMock.Object, _identityServiceMock.Object, _serviceBusMock.Object); basketController.ControllerContext = new ControllerContext() { HttpContext = new DefaultHttpContext() { User = new ClaimsPrincipal( new ClaimsIdentity(new Claim[] { new Claim("unique_name", "testuser") })) } }; //Act var result = await basketController.CheckoutAsync(new BasketCheckout(), Guid.NewGuid().ToString()) as AcceptedResult; _serviceBusMock.Verify(mock => mock.Publish(It.IsAny <UserCheckoutAcceptedIntegrationEvent>()), Times.Once); Assert.NotNull(result); }
public async Task Doing_Checkout_Without_Basket_Should_Return_Bad_Request() { var fakeCustomerId = "2"; _basketRepositoryMock.Setup(x => x.GetBasketAsync(It.IsAny <string>())) .Returns(Task.FromResult((CustomerBasket)null)); _identityServiceMock.Setup(x => x.GetUserIdentity()).Returns(fakeCustomerId); //Act var basketController = new BasketController( _basketRepositoryMock.Object, _identityServiceMock.Object, _serviceBusMock.Object); var result = await basketController.CheckoutAsync(new BasketCheckout(), Guid.NewGuid().ToString()) as BadRequestResult; Assert.NotNull(result); }
public async Task Checkout_BasketDoesNotExist_ReturnBadRequestResult( [Frozen] Mock <IMediator> mockMediator, [Greedy] BasketController sut, BasketCheckout checkout, string requestId ) { //Arrange mockMediator.Setup(x => x.Send(It.IsAny <CheckoutCommand>(), It.IsAny <CancellationToken>())) .ReturnsAsync((CustomerBasket)null); //Act var actionResult = await sut.CheckoutAsync(checkout, requestId); //Assert var okObjectResult = actionResult as BadRequestResult; okObjectResult.Should().NotBeNull(); }
public async Task Doing_Checkout_Without_Course_Planner_Should_Return_Bad_Request() { // Arrange var fakeCustomerId = "2"; _coursePlannerRepositoryMock.Setup(x => x.GetCoursePlannerAsync(It.IsAny <string>())) .Returns(Task.FromResult((API.Models.CoursePlanner)null)); _identityServiceMock.Setup(x => x.GetUserIdentity()).Returns(fakeCustomerId); //Act var basketController = new BasketController( _loggerMock.Object, _coursePlannerRepositoryMock.Object, _identityServiceMock.Object, _serviceBusMock.Object); // Assert var result = await basketController.CheckoutAsync(new BasketCheckout(), Guid.NewGuid().ToString()) as BadRequestResult; Assert.NotNull(result); }