コード例 #1
0
        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>();
        }
コード例 #2
0
        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>();
        }