public async void 管理ユーザーを登録() { // Arrange var viewModel = new RegisterViewModel() { Name = "管理太郎", SelectedRoleName = "Administrator", EmailAddress = "*****@*****.**", LoginId = "testloginid" }; var mockOperatorUseCase = new Mock <IOperatorUseCase>(); var mockaAuthorizationUseCase = new Mock <IAuthorizationUseCase>(); mockaAuthorizationUseCase .Setup(o => o.AddAuthorizationLink("testloginid")) .ReturnsAsync(new AuthorizationLink("C12345", DateTime.Now)) .Verifiable(); var mockUserManage = this.GetMockUserManager(); var mockUrlHelper = MockMaker.MakeIUrlHelper(); var controller = new OperatorsController(mockOperatorUseCase.Object, mockaAuthorizationUseCase.Object, mockUserManage.Object) { Url = mockUrlHelper.Object }; // Act var result = await controller.Register(viewModel); // Assert mockOperatorUseCase.Verify(o => o.RegisterOperator("管理太郎", "*****@*****.**", "testloginid"), Times.Once); mockOperatorUseCase.Verify(o => o.SendOperatorInvitaionMail("*****@*****.**", It.Is <string>(p => p.Contains("authorizationCode"))), Times.Once); mockaAuthorizationUseCase.Verify(); var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result); Assert.Null(redirectToActionResult.ControllerName); Assert.Equal(nameof(controller.Index), redirectToActionResult.ActionName); }