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); }
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); }
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); }
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); }
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); }