public void ReturnFalseWhenComparedWithANonPrivilegeObject()
        {
            Privilege userManagementPrivilege = UserManagementPrivilege.GetInstance();
            string    nonRoleObject           = "Goodbye World!";

            Assert.AreNotEqual(userManagementPrivilege, nonRoleObject);
        }
        public void HaveItsNamesHashCode()
        {
            Privilege userManagementPrivilege          = UserManagementPrivilege.GetInstance();
            int       registerPaymentPrivilegeHashCode = userManagementPrivilege.GetHashCode();

            Assert.AreEqual(registerPaymentPrivilegeHashCode, userManagementPrivilege.Name.GetHashCode());
        }
Ejemplo n.º 3
0
        public void KnowIfItHasACertainPrivilege()
        {
            CashierRole cashierRole = CashierRole.GetInstance();

            Privilege onePrivilege = UserManagementPrivilege.GetInstance();

            Assert.IsFalse(cashierRole.HasPrivilege(onePrivilege));
        }
        public void FailWithUnauthorizedAccessExceptionIfUserTriesToPostANewUserWithoutHavingUserManagementPrivilege()
        {
            User userToCreate   = new User("Bruno", "*****@*****.**", "#ElBizagra1995", AdminRole.GetInstance());
            var  mockUnitOfWork = new Mock <IUnitOfWork>();

            mockUnitOfWork
            .Setup(un => un.CurrentSignedInUserHasRequiredPrivilege(It.IsAny <string>(), UserManagementPrivilege.GetInstance()))
            .Returns(false);
            UserService userService = new UserService(mockUnitOfWork.Object);

            int id = userService.CreateUser(userToCreate, It.IsAny <string>());
        }
 private void SetMockDeleteRoutine2(Mock <IUnitOfWork> mockUnitOfWork)
 {
     mockUnitOfWork
     .Setup(un => un.UserRepository.GetByID(It.IsAny <int>()))
     .Returns(() => null);
     mockUnitOfWork
     .Setup(un => un.CurrentSignedInUserHasRequiredPrivilege(It.IsAny <string>(), UserManagementPrivilege.GetInstance()))
     .Returns(true);
     mockUnitOfWork.Setup(un => un.UserRepository.Delete(It.IsAny <int>()));
     mockUnitOfWork.Setup(un => un.Save());
 }
        private void SetMockUpdateRoutine6(Mock <IUnitOfWork> mockUnitOfWork)
        {
            User userWithSameEmail = new User("Bruno", "*****@*****.**", "#ElBizagrita1996", AdminRole.GetInstance());

            userWithSameEmail.ID = 5;
            mockUnitOfWork
            .Setup(un => un.UserRepository.GetByID(It.IsAny <int>()))
            .Returns(() => new User());
            mockUnitOfWork
            .Setup(un => un.CurrentSignedInUserHasRequiredPrivilege(It.IsAny <string>(), UserManagementPrivilege.GetInstance()))
            .Returns(true);
            mockUnitOfWork
            .Setup(un => un.UserRepository.Get(
                       It.IsAny <System.Linq.Expressions.Expression <Func <User, bool> > >(), null, ""))
            .Returns(new[] { userWithSameEmail });
        }
        public void BeAbleToGetAllUsersFromRepository()
        {
            User singleUser     = new User("Diego", "*****@*****.**", "#ElBizagra1995", AdminRole.GetInstance());
            var  mockUnitOfWork = new Mock <IUnitOfWork>();

            mockUnitOfWork
            .Setup(un => un.CurrentSignedInUserHasRequiredPrivilege(singleUser.Email, UserManagementPrivilege.GetInstance()))
            .Returns(true);
            mockUnitOfWork.Setup(un => un.UserRepository.Get(null, null, ""));
            UserService userService = new UserService(mockUnitOfWork.Object);

            IEnumerable <User> returnedUsers = userService.GetAllUsers(singleUser.Email);

            mockUnitOfWork.VerifyAll();
        }
 private void SetMockUpdateRoutine2(Mock <IUnitOfWork> mockUnitOfWork, User toBeUpdatedUser)
 {
     mockUnitOfWork
     .Setup(un => un.UserRepository.GetByID(It.IsAny <int>()))
     .Returns(() => toBeUpdatedUser);
     mockUnitOfWork
     .Setup(un => un.CurrentSignedInUserHasRequiredPrivilege(It.IsAny <string>(), UserManagementPrivilege.GetInstance()))
     .Returns(true);
     mockUnitOfWork
     .Setup(un => un.RoleRepository.Get(It.IsAny <System.Linq.Expressions.Expression <Func <Role, bool> > >(), null, "")).Returns(new[] { AdminRole.GetInstance() });
 }
        public void FailWithArgumentExceptionIfSingleUserIdDoesntExistInRepository()
        {
            var mockUnitOfWork = new Mock <IUnitOfWork>();

            mockUnitOfWork.Setup(un => un.UserRepository.GetByID(It.IsAny <int>()));
            mockUnitOfWork
            .Setup(un => un.CurrentSignedInUserHasRequiredPrivilege(It.IsAny <string>(), UserManagementPrivilege.GetInstance()))
            .Returns(true);
            UserService userService = new UserService(mockUnitOfWork.Object);

            User returnedUser = userService.GetSingleUser(5, It.IsAny <string>());
        }
        public void FailWithInvalidOperationExceptionIfToBeCreatedNewUserIsNotComplete()
        {
            var mockUnitOfWork = new Mock <IUnitOfWork>();

            mockUnitOfWork.Setup(un => un.CurrentSignedInUserHasRequiredPrivilege(It.IsAny <string>(), UserManagementPrivilege.GetInstance())).Returns(true);
            mockUnitOfWork.Setup(un => un.UserRepository.Get(
                                     It.IsAny <System.Linq.Expressions.Expression <Func <User, bool> > >(), null, "")).Returns(new List <User>());
            UserService userService = new UserService(mockUnitOfWork.Object);

            User singleUser = new User();

            int id = userService.CreateUser(singleUser, It.IsAny <string>());
        }
        public void BeAbleToCreateNewUserInRepository()
        {
            var mockUnitOfWork = new Mock <IUnitOfWork>();

            mockUnitOfWork.Setup(un => un.CurrentSignedInUserHasRequiredPrivilege(It.IsAny <string>(), UserManagementPrivilege.GetInstance())).Returns(true);
            mockUnitOfWork.Setup(un => un.RoleRepository.Get(
                                     It.IsAny <System.Linq.Expressions.Expression <Func <Role, bool> > >(), null, "")).Returns(new[] { AdminRole.GetInstance() });;
            mockUnitOfWork.Setup(un => un.UserRepository.Insert(It.IsAny <User>()));
            mockUnitOfWork.Setup(un => un.Save());
            UserService userService = new UserService(mockUnitOfWork.Object);

            User singleUser = new User("Diego", "*****@*****.**", "#ElBizagra1995", AdminRole.GetInstance());

            singleUser.Password = "******";
            int id = userService.CreateUser(singleUser, It.IsAny <string>());

            mockUnitOfWork.VerifyAll();
        }
        public void FailWithArgumentExceptionIfAskedRolesUserDoesNotExistInRepository()
        {
            var mockUnitOfWork = new Mock <IUnitOfWork>();

            mockUnitOfWork.Setup(un => un.UserRepository.Get(It.IsAny <Expression <Func <User, bool> > >(), null, ""));
            mockUnitOfWork
            .Setup(un => un.CurrentSignedInUserHasRequiredPrivilege(It.IsAny <string>(), UserManagementPrivilege.GetInstance()))
            .Returns(true);
            UserService userService = new UserService(mockUnitOfWork.Object);

            IEnumerable <string> returnedRoles = userService.GetRolesOfUser("*****@*****.**", It.IsAny <string>());
        }
        public void BeAbleToThatCurrentSignedInUserDoesNotHaveRequiredPrivilegesIfThereAreNoUsers()
        {
            List <User> data        = new List <User>();
            var         mockContext = new Mock <TodoPagosContext>();
            var         set         = new Mock <DbSet <User> >().SetupData(data);
            UnitOfWork  unitOfWork  = new UnitOfWork(mockContext.Object);

            mockContext.Setup(ctx => ctx.Set <User>()).Returns(set.Object);

            Assert.IsFalse(unitOfWork.CurrentSignedInUserHasRequiredPrivilege("*****@*****.**", UserManagementPrivilege.GetInstance()));
        }
        public void BeAbleToThatCurrentSignedInUserDoesNotHaveRequiredPrivilegesIfEmailDoesNotMatch()
        {
            User        currentSignedInUser = new User("Bruno", "*****@*****.**", "Hola111!!!", AdminRole.GetInstance());
            List <User> data = new List <User>();

            data.Add(currentSignedInUser);
            var        mockContext = new Mock <TodoPagosContext>();
            var        set         = new Mock <DbSet <User> >().SetupData(data);
            UnitOfWork unitOfWork  = new UnitOfWork(mockContext.Object);

            mockContext.Setup(ctx => ctx.Set <User>()).Returns(set.Object);

            Assert.IsFalse(unitOfWork.CurrentSignedInUserHasRequiredPrivilege("*****@*****.**", UserManagementPrivilege.GetInstance()));
        }
        private void SetMockDeleteRoutine3(Mock <IUnitOfWork> mockUnitOfWork, User signedInUser)
        {
            List <User> usersList = new List <User>();

            usersList.Add(signedInUser);
            mockUnitOfWork
            .Setup(un => un.UserRepository.GetByID(It.IsAny <int>()))
            .Returns(() => signedInUser);
            mockUnitOfWork
            .Setup(un => un.CurrentSignedInUserHasRequiredPrivilege(It.IsAny <string>(), UserManagementPrivilege.GetInstance()))
            .Returns(true);
            mockUnitOfWork
            .Setup(un => un.UserRepository.Get(It.IsAny <Expression <Func <User, bool> > >(), null, ""))
            .Returns(() => usersList);
            mockUnitOfWork.Setup(un => un.UserRepository.Delete(It.IsAny <int>()));
            mockUnitOfWork.Setup(un => un.Save());
        }
        public void BeAbleToReturnSingleUserInRepository()
        {
            User singleUser     = new User("Diego", "*****@*****.**", "#ElBizagra1995", AdminRole.GetInstance());
            var  mockUnitOfWork = new Mock <IUnitOfWork>();

            mockUnitOfWork.Setup(un => un.UserRepository.GetByID(singleUser.ID)).Returns(singleUser);
            mockUnitOfWork
            .Setup(un => un.CurrentSignedInUserHasRequiredPrivilege(singleUser.Email, UserManagementPrivilege.GetInstance()))
            .Returns(true);
            UserService userService = new UserService(mockUnitOfWork.Object);

            User returnedUser = userService.GetSingleUser(singleUser.ID, singleUser.Email);

            mockUnitOfWork.VerifyAll();
            Assert.AreSame(singleUser, returnedUser);
        }
        public void FailWithArgumentNullExceptionIfToBeCreatedNewUserIsNull()
        {
            var mockUnitOfWork = new Mock <IUnitOfWork>();

            mockUnitOfWork.Setup(un => un.CurrentSignedInUserHasRequiredPrivilege(It.IsAny <string>(), UserManagementPrivilege.GetInstance())).Returns(true);
            UserService userService = new UserService(mockUnitOfWork.Object);

            User singleUser = null;

            int id = userService.CreateUser(singleUser, It.IsAny <string>());
        }
 private void MakeSureUserHasRequiredPrivilege(string signedInUserEmail)
 {
     if (!unitOfWork.CurrentSignedInUserHasRequiredPrivilege(signedInUserEmail, UserManagementPrivilege.GetInstance()))
     {
         throw new UnauthorizedAccessException();
     }
 }
        public void FailWithInvalidOperationExceptionIfToBeCreatedNewUserIsAlreadyInRepository()
        {
            User repeatedUser   = new User("Diego", "*****@*****.**", "#ElBizagra1995", AdminRole.GetInstance());
            var  mockUnitOfWork = new Mock <IUnitOfWork>();

            mockUnitOfWork.Setup(un => un.CurrentSignedInUserHasRequiredPrivilege(It.IsAny <string>(), UserManagementPrivilege.GetInstance())).Returns(true);
            mockUnitOfWork
            .Setup(un => un.UserRepository.Get(
                       It.IsAny <System.Linq.Expressions.Expression <Func <User, bool> > >(), null, ""))
            .Returns(new[] { repeatedUser });

            UserService userService = new UserService(mockUnitOfWork.Object);

            repeatedUser.Password = "******";
            int id = userService.CreateUser(repeatedUser, It.IsAny <string>());
        }