public async Task DeletePost_GivenAProductIdThatDoesNotExist_ShouldReturnNotFound() { // Arrange var productServiceMock = new Mock <IProductService>(); var productIdThatDoesNotExist = 0; productServiceMock.Setup(ps => ps.DoesProductIdExist(productIdThatDoesNotExist)) .ReturnsAsync(false); var authorizationServiceMock = new Mock <IAuthorizationService>(); var mockUserStore = new Mock <IUserStore <IdentityUser> >(); var userManagerMock = new Mock <UserManager <IdentityUser> >(mockUserStore.Object, null, null, null, null, null, null, null, null); var productsController = new ProductsController( productServiceMock.Object, authorizationServiceMock.Object, userManagerMock.Object ); // Act IActionResult actionResult = await productsController.DeletePost(productIdThatDoesNotExist); // Assert actionResult.ShouldBeOfType <NotFoundResult>(); }
public async Task DeletePost_GivenAProductIdThatExistsAsAnUnauthorizedUser_ShouldReturnForbid() { // Arrange var productServiceMock = new Mock <IProductService>(); var productIdThatExists = 1; productServiceMock.Setup(ps => ps.DoesProductIdExist(productIdThatExists)) .ReturnsAsync(true); var authorizationServiceMock = CreateAuthorizationServiceMockThatDoesNotAuthorizeUser(); var mockUserStore = new Mock <IUserStore <IdentityUser> >(); var userManagerMock = new Mock <UserManager <IdentityUser> >(mockUserStore.Object, null, null, null, null, null, null, null, null); var productsController = new ProductsController( productServiceMock.Object, authorizationServiceMock.Object, userManagerMock.Object ); // Act IActionResult actionResult = await productsController.DeletePost(productIdThatExists); // Assert actionResult.ShouldBeOfType <ForbidResult>(); }