Esempio n. 1
0
        public void Invoke_FromSuperAdminToSuperAdmin_NotSavedInDatabase()
        {
            // Prepare
            var dataUser = new DataAccess.Models.User
            {
                IsSuperAdmin = true
            };
            var dataUserSaved            = dataUser;
            var mockedUserRepository     = new Mock <IUserRepository>();
            var mockedUserAppsRepository = new Mock <IUserAppRepository>();

            mockedUserRepository.Setup(r => r.GetById(It.IsAny <int>()))
            .Returns(dataUser);
            mockedUserRepository.Setup(r => r.Edit(It.IsAny <DataAccess.Models.User>()))
            .Callback <DataAccess.Models.User>(user => dataUserSaved = user);

            var action = new GrantRole(mockedUserAppsRepository.Object, mockedUserRepository.Object);

            // Action
            var actionResult = action.Invoke(1, 1, Enums.UserRole.SuperAdmin);

            // Check
            Assert.False(actionResult);
            Assert.True(dataUserSaved.IsSuperAdmin);
            mockedUserRepository.Verify(r => r.Edit(It.IsAny <DataAccess.Models.User>()), Times.Never);
            mockedUserRepository.Verify(r => r.Save(), Times.Never);
            mockedUserAppsRepository.Verify(r => r.Save(), Times.Never);
        }
Esempio n. 2
0
        public void Invoke_IncorrectUserData_NotSavedInDatabase()
        {
            // Prepare
            var mockedUserAppsRepository = new Mock <IUserAppRepository>();
            var mockedUserRepository     = new Mock <IUserRepository>();

            var action = new GrantRole(mockedUserAppsRepository.Object, mockedUserRepository.Object);

            // Action
            var actionResult = action.Invoke(1, 1, Enums.UserRole.Manager);

            // Check
            Assert.False(actionResult);
            mockedUserAppsRepository.Verify(r => r.Edit(It.IsAny <DataAccess.Models.UserApps>()), Times.Never);
            mockedUserAppsRepository.Verify(r => r.Save(), Times.Never);
            mockedUserRepository.Verify(r => r.Save(), Times.Never);
        }
Esempio n. 3
0
        public void Invoke_CorrectData_SavedInDatabase()
        {
            // Prepare
            var dataUserApp = new DataAccess.Models.UserApps
            {
                User = new DataAccess.Models.User {
                    Id = 1
                },
                App = new DataAccess.Models.App {
                    Id = 1
                },
                Role = UserRole.User
            };
            var dataUser = new DataAccess.Models.User
            {
                IsSuperAdmin = false
            };
            var dataUserAppSaved = dataUserApp;
            var getAllResults    = new List <DataAccess.Models.UserApps> {
                dataUserApp
            };
            var mockedUserAppsRepository = new Mock <IUserAppRepository>();

            mockedUserAppsRepository.Setup(r => r.FindBy(It.IsAny <Expression <Func <DataAccess.Models.UserApps, bool> > >()))
            .Returns(getAllResults.AsQueryable());
            mockedUserAppsRepository.Setup(r => r.Edit(It.IsAny <DataAccess.Models.UserApps>()))
            .Callback <DataAccess.Models.UserApps>(userApps => dataUserAppSaved = userApps);
            var mockedUserRepository = new Mock <IUserRepository>();

            mockedUserRepository.Setup(r => r.GetById(It.IsAny <int>()))
            .Returns(dataUser);

            var action = new GrantRole(mockedUserAppsRepository.Object, mockedUserRepository.Object);

            // Action
            var actionResult = action.Invoke(1, 1, Enums.UserRole.Manager);

            // Check
            Assert.True(actionResult);
            Assert.NotEqual(UserRole.User, dataUserAppSaved.Role);
            Assert.Equal(UserRole.Manager, dataUserAppSaved.Role);
            mockedUserAppsRepository.Verify(r => r.Edit(It.IsAny <DataAccess.Models.UserApps>()), Times.Once);
            mockedUserAppsRepository.Verify(r => r.Save(), Times.Once);
            mockedUserRepository.Verify(r => r.Save(), Times.Never);
        }
Esempio n. 4
0
        public void Invoke_LowerRole_NotSavedInDatabase(UserRole oldRole, Enums.UserRole newRole)
        {
            // Prepare
            var dataUserApp = new DataAccess.Models.UserApps
            {
                User = new DataAccess.Models.User {
                    Id = 1
                },
                App = new DataAccess.Models.App {
                    Id = 1
                },
                Role = oldRole
            };
            var dataUser = new DataAccess.Models.User
            {
                IsSuperAdmin = false
            };
            var getAllResults = new List <DataAccess.Models.UserApps> {
                dataUserApp
            };
            var mockedUserAppsRepository = new Mock <IUserAppRepository>();

            mockedUserAppsRepository.Setup(r => r.FindBy(It.IsAny <Expression <Func <DataAccess.Models.UserApps, bool> > >()))
            .Returns(getAllResults.AsQueryable());
            var mockedUserRepository = new Mock <IUserRepository>();

            mockedUserRepository.Setup(r => r.GetById(It.IsAny <int>()))
            .Returns(dataUser);

            var action = new GrantRole(mockedUserAppsRepository.Object, mockedUserRepository.Object);

            // Action
            var actionResult = action.Invoke(1, 1, newRole);

            // Check
            Assert.False(actionResult);
            mockedUserAppsRepository.Verify(r => r.Edit(It.IsAny <DataAccess.Models.UserApps>()), Times.Never);
            mockedUserAppsRepository.Verify(r => r.Save(), Times.Never);
            mockedUserRepository.Verify(r => r.Save(), Times.Never);
        }
Esempio n. 5
0
        public void Invoke_User_NotHaveAnyApp_NotSavedInDatabase()
        {
            // Prepare
            var dataUser = new DataAccess.Models.User
            {
                IsSuperAdmin = false
            };
            var mockedUserRepository     = new Mock <IUserRepository>();
            var mockedUserAppsRepository = new Mock <IUserAppRepository>();

            mockedUserRepository.Setup(r => r.GetById(It.IsAny <int>()))
            .Returns(dataUser);

            var action = new GrantRole(mockedUserAppsRepository.Object, mockedUserRepository.Object);

            // Action
            var actionResult = action.Invoke(1, 1, Enums.UserRole.Manager);

            // Check
            Assert.False(actionResult);
            mockedUserRepository.Verify(r => r.Edit(It.IsAny <DataAccess.Models.User>()), Times.Never);
            mockedUserRepository.Verify(r => r.Save(), Times.Never);
            mockedUserAppsRepository.Verify(r => r.Save(), Times.Never);
        }