示例#1
0
        public async Task DeleteAsync_ShouldSignOut_AndReturnOk()
        {
            var userStoreMock     = new Mock <IUserStore <User> >();
            var userManagerMock   = new Mock <UserManager <User> >(userStoreMock.Object, null, null, null, null, null, null, null, null);
            var signInManagerMock = new Mock <SignInManager <User> >(userManagerMock.Object,
                                                                     new Mock <IHttpContextAccessor>().Object,
                                                                     new Mock <IUserClaimsPrincipalFactory <User> >().Object,
                                                                     new Mock <IOptions <IdentityOptions> >().Object,
                                                                     new Mock <ILogger <SignInManager <User> > >().Object,
                                                                     new Mock <IAuthenticationSchemeProvider>().Object,
                                                                     new Mock <IUserConfirmation <User> >().Object);

            using (var controller = new SignInController(userManagerMock.Object, signInManagerMock.Object))
            {
                IActionResult actionResult = await controller.DeleteAsync();

                Assert.IsType <OkResult>(actionResult);
                signInManagerMock.Verify(m => m.SignOutAsync());
            }
        }