public void InstantiatesCorrectly_WhenAllDependenciesAreNotNull() { var mockedRepo = new Mock <IDbRepository <User> >(); var mockedUow = new Mock <IUnitOfWork>(); var service = new UsersService(mockedRepo.Object, mockedUow.Object); var users = new List <User>(); mockedRepo.Setup(x => x.All()).Returns(users.AsQueryable()); var all = service.AllUsers(); mockedRepo.Verify(x => x.All(), Times.Once); }
public async Task UnRestrictUserShouldReturnFalseOnTryingUnRestrictingCurrentUser() { var userRepo = new Mock <IRepository <User> >(); userRepo.Setup(r => r.All()).Returns(new List <User> { new User { Id = "1", UserName = "******", PurchaseOrders = new List <Order>(), Reports = new List <Report>(), MyProducts = new List <Product>(), IsRestricted = true }, new User { Id = "2", UserName = "******", PurchaseOrders = new List <Order>(), Reports = new List <Report>(), MyProducts = new List <Product>(), IsRestricted = true }, new User { Id = "3", UserName = "******", PurchaseOrders = new List <Order>(), Reports = new List <Report>(), MyProducts = new List <Product>(), IsRestricted = true } }.AsQueryable()); var service = new UsersService(userRepo.Object, null, null); var result = await service.UnRestrictUser("1", "stamat"); var users = service.AllUsers("4"); Assert.DoesNotContain(users, u => !u.IsRestricted); Assert.False(result); userRepo.Verify(r => r.SaveChangesAsync(), Times.Never); }
public async Task RestrictUserShouldWorkWithExistingUser() { var userRepo = new Mock <IRepository <User> >(); userRepo.Setup(r => r.All()).Returns(new List <User> { new User { Id = "1", UserName = "******", PurchaseOrders = new List <Order>(), Reports = new List <Report>(), MyProducts = new List <Product>(), IsRestricted = false }, new User { Id = "2", UserName = "******", PurchaseOrders = new List <Order>(), Reports = new List <Report>(), MyProducts = new List <Product>(), IsRestricted = false }, new User { Id = "3", UserName = "******", PurchaseOrders = new List <Order>(), Reports = new List <Report>(), MyProducts = new List <Product>(), IsRestricted = false } }.AsQueryable()); var service = new UsersService(userRepo.Object, null, null); var result = await service.RestrictUser("1", "nqkuv"); var users = service.AllUsers("4"); Assert.Contains(users, u => u.IsRestricted); Assert.True(result); userRepo.Verify(r => r.SaveChangesAsync(), Times.Once); }
public void IsUserRestrictedShouldReturnFalseForNonExistingUser() { var userRepo = new Mock <IRepository <User> >(); userRepo.Setup(r => r.All()).Returns(new List <User> { new User { Id = "1", UserName = "******", PurchaseOrders = new List <Order>(), Reports = new List <Report>(), MyProducts = new List <Product>(), IsRestricted = false }, new User { Id = "2", UserName = "******", PurchaseOrders = new List <Order>(), Reports = new List <Report>(), MyProducts = new List <Product>(), IsRestricted = false }, new User { Id = "3", UserName = "******", PurchaseOrders = new List <Order>(), Reports = new List <Report>(), MyProducts = new List <Product>(), IsRestricted = false } }.AsQueryable()); var service = new UsersService(userRepo.Object, null, null); var result = service.IsUserRestricted("nqkuv"); var users = service.AllUsers("nqkuv"); Assert.DoesNotContain(users, u => u.IsRestricted); Assert.False(result); }
public void AllUsersShouldReturnAllUsersExceptCurrentOne() { var userRepo = new Mock <IRepository <User> >(); userRepo.Setup(r => r.All()).Returns(new List <User> { new User { UserName = "******", PurchaseOrders = new List <Order>(), Reports = new List <Report>(), MyProducts = new List <Product>() }, new User { UserName = "******", PurchaseOrders = new List <Order>(), Reports = new List <Report>(), MyProducts = new List <Product>() }, new User { UserName = "******", PurchaseOrders = new List <Order>(), Reports = new List <Report>(), MyProducts = new List <Product>() } }.AsQueryable()); var service = new UsersService(userRepo.Object, null, null); var users = service.AllUsers("stamat"); Assert.Equal(2, users.Count); Assert.DoesNotContain(users, u => u.UserName == "stamat"); userRepo.Verify(r => r.All(), Times.Once); }