Exemplo n.º 1
0
        public async Task 未登録Roleがある時Roleを削除しIndexを表示()
        {
            // Arrange
            var deleteRoleNames = new List <string>()
            {
                "customer", "browser"
            };
            var mockUserManager = this.GetMockUserManager();
            var mockRoleManager = this.GetMockRoleManager();

            mockRoleManager.Setup(r => r.FindByNameAsync("customer"))
            .Returns(Task.FromResult(new ApplicationRole()
            {
                Name = "customer"
            }));
            mockRoleManager.Setup(r => r.FindByNameAsync("browser"))
            .Returns(Task.FromResult(new ApplicationRole()
            {
                Name = "browser"
            }));
            var controller = new RolesController(mockUserManager.Object, mockRoleManager.Object);

            // Act
            var result = await controller.DeleteRoles(deleteRoleNames);

            // Assert
            mockRoleManager.Verify(r => r.DeleteAsync(It.IsAny <ApplicationRole>()), Times.Exactly(2));
            var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result);

            Assert.Null(redirectToActionResult.ControllerName);
            Assert.Equal(nameof(controller.Index), redirectToActionResult.ActionName);
        }