public void ThrowUserAuthenticationException_WhenAUserIsAlreadyLoggedIn()
        {
            // arrange
            var userRepository = new Mock <IRepository <User> >();
            var unitOfWork     = new Mock <IUnitOfWork>();
            var userFactory    = new Mock <IUserFactory>();

            var userProvider = new FakeUserProvider(userRepository.Object, unitOfWork.Object, userFactory.Object);

            var user = new User();

            userProvider.SetLoggedUser(user);

            // act and assert
            Assert.Throws <UserAuthenticationException>(() => userProvider.Login("SomeUserName", "SomeOtherUserName"));
        }
Exemplo n.º 2
0
        internal StatsController ControllerSetup(string userId, string roleName)
        {
            FakeUserProvider fakeUserProvider = new FakeUserProvider()
            {
                FakeRoles = new List <string>()
                {
                    roleName
                },
                FakeUserId = userId
            };

            container.RegisterInstance <IUserProvider>(fakeUserProvider);
            MockStatsController controller = container.Resolve <Controller>() as MockStatsController;

            controller.BeginExecute();
            return(controller);
        }
        public void SetLoggedUserToNull_WhenMethodIsCalledWithALoggedInUser()
        {
            // arrange
            var userRepository = new Mock <IRepository <User> >();
            var unitOfWork     = new Mock <IUnitOfWork>();
            var userFactory    = new Mock <IUserFactory>();

            var userProvider = new FakeUserProvider(userRepository.Object, unitOfWork.Object, userFactory.Object);

            var user = new User();

            userProvider.SetLoggedUser(user);

            // act
            userProvider.Logout();

            // assert
            Assert.IsNull(userProvider.LoggedUser);
        }
        public void ReturnTrue_WhenLoggedUserValueIsNotNull()
        {
            // arrange
            var userRepository = new Mock <IRepository <User> >();
            var unitOfWork     = new Mock <IUnitOfWork>();
            var userFactory    = new Mock <IUserFactory>();

            var userProvider = new FakeUserProvider(userRepository.Object, unitOfWork.Object, userFactory.Object);

            var user = new User();

            userProvider.SetLoggedUser(user);

            // act
            var isLogged = userProvider.IsLogged;

            // assert
            Assert.IsTrue(isLogged);
        }
        public void ReturnTheCorrectUser_WhenAUserHasBeenLoggedIn()
        {
            // arrange
            var userRepository = new Mock <IRepository <User> >();
            var unitOfWork     = new Mock <IUnitOfWork>();
            var userFactory    = new Mock <IUserFactory>();

            var userProvider = new FakeUserProvider(userRepository.Object, unitOfWork.Object, userFactory.Object);

            var user = new User();

            userProvider.SetLoggedUser(user);

            // act
            var loggedUser = userProvider.LoggedUser;

            // assert
            Assert.AreSame(loggedUser, userProvider.LoggedUser);
        }
        public void ThrowUserAuthenticationException_WhenThereIsAUserLoggedIn()
        {
            // arrange
            var userRepository = new Mock <IRepository <User> >();
            var unitOfWork     = new Mock <IUnitOfWork>();
            var userFactory    = new Mock <IUserFactory>();

            userRepository
            .Setup(x => x.All(y => y.Username == It.IsAny <string>() && y.Passhash == It.IsAny <string>()))
            .Returns(new List <User>());

            var userProvider = new FakeUserProvider(userRepository.Object, unitOfWork.Object, userFactory.Object);

            var loggedUser = new User();

            userProvider.SetLoggedUser(loggedUser);

            // act and assert
            Assert.Throws <UserAuthenticationException>(() => userProvider.Register("Username", "Passhash"));
        }