Ejemplo n.º 1
0
        public LoginTest()
        {
            var mock = new MockRepository(MockBehavior.Default);

            _userRepoMocking = mock.Create <IUserRepository>();

            _userRepoMocking = new Mock <IUserRepository>();

            _userManagerMocking = new Mock <UserManager <PandaUser> >(
                new Mock <IUserStore <PandaUser> >().Object,
                new Mock <IOptions <IdentityOptions> >().Object,
                new Mock <IPasswordHasher <PandaUser> >().Object,
                new IUserValidator <PandaUser> [0],
                new IPasswordValidator <PandaUser> [0],
                new Mock <ILookupNormalizer>().Object,
                new Mock <IdentityErrorDescriber>().Object,
                new Mock <IServiceProvider>().Object,
                new Mock <ILogger <UserManager <PandaUser> > >().Object
                );

            _signInManagerMocking = new Mock <SignInManager <PandaUser> >(
                _userManagerMocking.Object,
                new Mock <IHttpContextAccessor>().Object,
                new Mock <IUserClaimsPrincipalFactory <PandaUser> >().Object,
                new Mock <IOptions <IdentityOptions> >().Object,
                new Mock <ILogger <SignInManager <PandaUser> > >().Object,
                new Mock <IAuthenticationSchemeProvider>().Object);


            _mapperMocking = new Mock <IMapper>();

            #region LoginSuccess

            _userRepoMocking
            .Setup(s => s.EmailValid(TestDataPandaLoginTest.pandaUser.Email))
            .Returns(Task.FromResult(true));

            _signInManagerMocking
            .Setup(s => s.PasswordSignInAsync(TestDataPandaLoginTest.pandaUser.Email, TestDataPandaLoginTest.pandaUser.Password, false, false))
            .Returns(Task.FromResult(SignInResult.Success));

            _userManagerMocking
            .Setup(s => s.FindByEmailAsync(TestDataPandaLoginTest.pandaUser.Email))
            .Returns(Task.FromResult(TestDataPandaLoginTest.CreateUserSuccessPandaUser(now)));

            #endregion

            userLogic = new UserLogic(
                _userManagerMocking.Object,
                _signInManagerMocking.Object,
                _userRepoMocking.Object,
                _mapperMocking.Object);
        }
Ejemplo n.º 2
0
        public async Task LoginSuccess()
        {
            var result = await userLogic.Login(TestDataPandaLoginTest.pandaUser);

            var newAccount = TestDataPandaLoginTest.CreateUserSuccessPandaUser(now);

            //For Login fail
            _userRepoMocking
            .Verify(umm => umm.EmailValid(TestDataPandaLoginTest.pandaUser.Email), Times.Never());

            _signInManagerMocking.Verify(umm => umm.PasswordSignInAsync(TestDataPandaLoginTest.pandaUser.Email, TestDataPandaLoginTest.pandaUser.Password, false, false));


            Assert.Equal(result.Data.Email, newAccount.Email);
            Assert.Equal(result.Data.FirstName, newAccount.FirstName);
            Assert.Equal(result.Data.LastName, newAccount.LastName);

            Assert.False(result.IsError());
        }