public void AddOrUpdateCart_CannotAccesToAdd() { var mockContext = new Mock <ApplicationContext>(); var logger = new NLogLoggerService(); var entityRepository = new EntityFrameworkEntityRepository(logger, mockContext.Object); var rightRepository = new EntityFrameworkRightRepository(logger, mockContext.Object, entityRepository); var repository = new EntityFrameworkCarRepository(logger, entityRepository, rightRepository, mockContext.Object); var agent = Guid.NewGuid(); var mockSet1 = new Mock <DbSet <Right> >(); var data1 = new List <Right> { new Right { AgentGuid = agent, EntityType = EntityType.Car, OperationTypes = new[] { OperationType.Select } }, }; var queryable1 = data1.AsQueryable(); mockSet1.As <IQueryable <Right> >().Setup(m => m.Provider).Returns(queryable1.Provider); mockSet1.As <IQueryable <Right> >().Setup(m => m.Expression).Returns(queryable1.Expression); mockSet1.As <IQueryable <Right> >().Setup(m => m.ElementType).Returns(queryable1.ElementType); mockSet1.As <IQueryable <Right> >().Setup(m => m.GetEnumerator()).Returns(queryable1.GetEnumerator()); mockSet1.Setup(d => d.Add(It.IsAny <Right>())).Callback <Right>(s => data1.Add(s)); mockContext.Setup(m => m.Rights).Returns(mockSet1.Object); repository.AddOrUpdateCar(agent, new Car { Id = 1, Number = "1" }); }
public void AddOrUpdateAgent_Add() { var mockContext = new Mock <ApplicationContext>(); var logger = new NLogLoggerService(); var entityRepository = new EntityFrameworkEntityRepository(logger, mockContext.Object); var rightRepository = new EntityFrameworkRightRepository(logger, mockContext.Object, entityRepository); var repository = new EntityFrameworkAgentRepository(logger, entityRepository, rightRepository, mockContext.Object); var agent = Guid.NewGuid(); var agent1 = Guid.NewGuid(); var mockSet1 = new Mock <DbSet <Right> >(); var data1 = new List <Right> { new Right { AgentGuid = agent, EntityType = EntityType.Agent, OperationTypes = new[] { OperationType.AddOrUpdate } }, }; var queryable1 = data1.AsQueryable(); mockSet1.As <IQueryable <Right> >().Setup(m => m.Provider).Returns(queryable1.Provider); mockSet1.As <IQueryable <Right> >().Setup(m => m.Expression).Returns(queryable1.Expression); mockSet1.As <IQueryable <Right> >().Setup(m => m.ElementType).Returns(queryable1.ElementType); mockSet1.As <IQueryable <Right> >().Setup(m => m.GetEnumerator()).Returns(queryable1.GetEnumerator()); mockSet1.Setup(d => d.Add(It.IsAny <Right>())).Callback <Right>(s => data1.Add(s)); mockContext.Setup(m => m.Rights).Returns(mockSet1.Object); var mockSet = new Mock <DbSet <Agent> >(); var data = new List <Agent>(); var queryable = data.AsQueryable(); mockSet.As <IQueryable <Agent> >().Setup(m => m.Provider).Returns(queryable.Provider); mockSet.As <IQueryable <Agent> >().Setup(m => m.Expression).Returns(queryable.Expression); mockSet.As <IQueryable <Agent> >().Setup(m => m.ElementType).Returns(queryable.ElementType); mockSet.As <IQueryable <Agent> >().Setup(m => m.GetEnumerator()).Returns(queryable.GetEnumerator()); mockSet.Setup(d => d.Add(It.IsAny <Agent>())).Callback <Agent>(s => data.Add(s)); mockSet.Setup(m => m.Find(It.IsAny <object[]>())).Returns <object[]>(ids => data.FirstOrDefault(d => d.Id == (int)ids[0])); mockContext.Setup(m => m.Agents).Returns(mockSet.Object); var mockSet2 = new Mock <DbSet <EntityGuids> >(); var data2 = new List <EntityGuids>(); var queryable2 = data2.AsQueryable(); mockSet2.As <IQueryable <EntityGuids> >().Setup(m => m.Provider).Returns(queryable2.Provider); mockSet2.As <IQueryable <EntityGuids> >().Setup(m => m.Expression).Returns(queryable2.Expression); mockSet2.As <IQueryable <EntityGuids> >().Setup(m => m.ElementType).Returns(queryable2.ElementType); mockSet2.As <IQueryable <EntityGuids> >().Setup(m => m.GetEnumerator()).Returns(queryable2.GetEnumerator()); mockSet2.Setup(d => d.Add(It.IsAny <EntityGuids>())).Callback <EntityGuids>(s => data2.Add(s)); mockContext.Setup(m => m.EntityGuids).Returns(mockSet2.Object); var addOrUpdateAgent = repository.AddOrUpdateAgent(agent, new Agent { Id = 0, Name = "1", }); var agents = entityRepository.GetEntitys(agent, EntityType.Agent); Assert.AreEqual(1, agents.Count); Assert.AreEqual(addOrUpdateAgent.Guid, agents[0]); }
private IUserRepository GetUserRepository() { var logService = new NLogLoggerService(); var httpClient = new HttpClient(); ApiQueryService apiService = new ApiQueryService(logService, httpClient); var userRep = new UserRepository(apiService); return(userRep); }
public void GetCarsByGuids_GuidsNull() { var mockContext = new Mock <ApplicationContext>(); var logger = new NLogLoggerService(); var entityRepository = new EntityFrameworkEntityRepository(logger, mockContext.Object); var rightRepository = new EntityFrameworkRightRepository(logger, mockContext.Object, entityRepository); var repository = new EntityFrameworkCarRepository(logger, entityRepository, rightRepository, mockContext.Object); repository.GetCarsByGuids(Guid.NewGuid(), null); }
public void DeleteCar_IdNotValid() { var mockContext = new Mock <ApplicationContext>(); var logger = new NLogLoggerService(); var entityRepository = new EntityFrameworkEntityRepository(logger, mockContext.Object); var rightRepository = new EntityFrameworkRightRepository(logger, mockContext.Object, entityRepository); var repository = new EntityFrameworkCarRepository(logger, entityRepository, rightRepository, mockContext.Object); repository.DeleteCar(Guid.NewGuid(), new Car()); }
public void GetAgentsByGuids_GuidsEmpty() { var mockContext = new Mock <ApplicationContext>(); var logger = new NLogLoggerService(); var entityRepository = new EntityFrameworkEntityRepository(logger, mockContext.Object); var rightRepository = new EntityFrameworkRightRepository(logger, mockContext.Object, entityRepository); var repository = new EntityFrameworkAgentRepository(logger, entityRepository, rightRepository, mockContext.Object); repository.GetAgentsByGuids(Guid.NewGuid(), new List <Guid>()); }
public void DeleteAgent_AgentNull() { var mockContext = new Mock <ApplicationContext>(); var logger = new NLogLoggerService(); var entityRepository = new EntityFrameworkEntityRepository(logger, mockContext.Object); var rightRepository = new EntityFrameworkRightRepository(logger, mockContext.Object, entityRepository); var repository = new EntityFrameworkAgentRepository(logger, entityRepository, rightRepository, mockContext.Object); repository.DeleteAgent(Guid.NewGuid(), null); }
public void DeleteAgent_GuidAgentEmpty() { var mockContext = new Mock <ApplicationContext>(); var logger = new NLogLoggerService(); var entityRepository = new EntityFrameworkEntityRepository(logger, mockContext.Object); var rightRepository = new EntityFrameworkRightRepository(logger, mockContext.Object, entityRepository); var repository = new EntityFrameworkAgentRepository(logger, entityRepository, rightRepository, mockContext.Object); repository.DeleteAgent(Guid.Empty, new Agent()); }
public void AddOrUpdateCar_UpdateWithEmptyGuid() { var mockContext = new Mock <ApplicationContext>(); var logger = new NLogLoggerService(); var entityRepository = new EntityFrameworkEntityRepository(logger, mockContext.Object); var rightRepository = new EntityFrameworkRightRepository(logger, mockContext.Object, entityRepository); var repository = new EntityFrameworkCarRepository(logger, entityRepository, rightRepository, mockContext.Object); var agent = Guid.NewGuid(); var mockSet1 = new Mock <DbSet <Right> >(); var data1 = new List <Right> { new Right { AgentGuid = agent, EntityType = EntityType.Car, OperationTypes = new[] { OperationType.AddOrUpdate } }, }; var queryable1 = data1.AsQueryable(); mockSet1.As <IQueryable <Right> >().Setup(m => m.Provider).Returns(queryable1.Provider); mockSet1.As <IQueryable <Right> >().Setup(m => m.Expression).Returns(queryable1.Expression); mockSet1.As <IQueryable <Right> >().Setup(m => m.ElementType).Returns(queryable1.ElementType); mockSet1.As <IQueryable <Right> >().Setup(m => m.GetEnumerator()).Returns(queryable1.GetEnumerator()); mockSet1.Setup(d => d.Add(It.IsAny <Right>())).Callback <Right>(s => data1.Add(s)); mockContext.Setup(m => m.Rights).Returns(mockSet1.Object); var mockSet = new Mock <DbSet <Car> >(); var data = new List <Car> { new Car { Id = 1, Number = "1" }, }; var queryable = data.AsQueryable(); mockSet.As <IQueryable <Car> >().Setup(m => m.Provider).Returns(queryable.Provider); mockSet.As <IQueryable <Car> >().Setup(m => m.Expression).Returns(queryable.Expression); mockSet.As <IQueryable <Car> >().Setup(m => m.ElementType).Returns(queryable.ElementType); mockSet.As <IQueryable <Car> >().Setup(m => m.GetEnumerator()).Returns(queryable.GetEnumerator()); mockSet.Setup(d => d.Add(It.IsAny <Car>())).Callback <Car>(s => data.Add(s)); mockSet.Setup(m => m.Find(It.IsAny <object[]>())).Returns <object[]>(ids => data.FirstOrDefault(d => d.Id == (int)ids[0])); mockContext.Setup(m => m.Cars).Returns(mockSet.Object); repository.AddOrUpdateCar(agent, new Car { Id = 1, Number = "1", }); }
public void GetCarsByGuids() { var mockContext = new Mock <ApplicationContext>(); var logger = new NLogLoggerService(); var entityRepository = new EntityFrameworkEntityRepository(logger, mockContext.Object); var rightRepository = new EntityFrameworkRightRepository(logger, mockContext.Object, entityRepository); var repository = new EntityFrameworkCarRepository(logger, entityRepository, rightRepository, mockContext.Object); var agent = Guid.NewGuid(); var mockSet1 = new Mock <DbSet <Right> >(); var data1 = new List <Right> { new Right { AgentGuid = agent, EntityType = EntityType.Car, OperationTypes = new[] { OperationType.AddOrUpdate, OperationType.Select, OperationType.Delete } }, }; var queryable1 = data1.AsQueryable(); mockSet1.As <IQueryable <Right> >().Setup(m => m.Provider).Returns(queryable1.Provider); mockSet1.As <IQueryable <Right> >().Setup(m => m.Expression).Returns(queryable1.Expression); mockSet1.As <IQueryable <Right> >().Setup(m => m.ElementType).Returns(queryable1.ElementType); mockSet1.As <IQueryable <Right> >().Setup(m => m.GetEnumerator()).Returns(queryable1.GetEnumerator()); mockSet1.Setup(d => d.Add(It.IsAny <Right>())).Callback <Right>(s => data1.Add(s)); mockContext.Setup(m => m.Rights).Returns(mockSet1.Object); var mockSet = new Mock <DbSet <Car> >(); var data = new List <Car>(); var queryable = data.AsQueryable(); mockSet.As <IQueryable <Car> >().Setup(m => m.Provider).Returns(queryable.Provider); mockSet.As <IQueryable <Car> >().Setup(m => m.Expression).Returns(queryable.Expression); mockSet.As <IQueryable <Car> >().Setup(m => m.ElementType).Returns(queryable.ElementType); mockSet.As <IQueryable <Car> >().Setup(m => m.GetEnumerator()).Returns(queryable.GetEnumerator()); mockSet.Setup(d => d.Add(It.IsAny <Car>())).Callback <Car>(s => { s.Id++; data.Add(s); }); mockSet.Setup(m => m.Find(It.IsAny <object[]>())).Returns <object[]>(ids => data.FirstOrDefault(d => d.Id == (int)ids[0])); mockContext.Setup(m => m.Cars).Returns(mockSet.Object); var mockSet2 = new Mock <DbSet <EntityGuids> >(); var data2 = new List <EntityGuids>(); var queryable2 = data2.AsQueryable(); mockSet2.As <IQueryable <EntityGuids> >().Setup(m => m.Provider).Returns(queryable2.Provider); mockSet2.As <IQueryable <EntityGuids> >().Setup(m => m.Expression).Returns(queryable2.Expression); mockSet2.As <IQueryable <EntityGuids> >().Setup(m => m.ElementType).Returns(queryable2.ElementType); mockSet2.As <IQueryable <EntityGuids> >().Setup(m => m.GetEnumerator()).Returns(queryable2.GetEnumerator()); mockSet2.Setup(d => d.Add(It.IsAny <EntityGuids>())).Callback <EntityGuids>(s => data2.Add(s)); mockContext.Setup(m => m.EntityGuids).Returns(mockSet2.Object); var addOrUpdateCar = repository.AddOrUpdateCar(agent, new Car { Id = 0, Number = "1", }); var cars = entityRepository.GetEntitys(agent, EntityType.Car); Assert.AreEqual(1, cars.Count); Assert.AreEqual(addOrUpdateCar.Guid, cars[0]); var carsByGuids = repository.GetCarsByGuids(agent, new List <Guid> { addOrUpdateCar.Guid }); Assert.AreEqual(1, carsByGuids.Count); Assert.AreEqual("1", carsByGuids[0].Number); Assert.AreEqual(addOrUpdateCar.Id, carsByGuids[0].Id); Assert.AreEqual(addOrUpdateCar.Guid, carsByGuids[0].Guid); addOrUpdateCar.Number = "22"; repository.AddOrUpdateCar(agent, addOrUpdateCar); carsByGuids = repository.GetCarsByGuids(agent, new List <Guid> { addOrUpdateCar.Guid }); Assert.AreEqual(1, carsByGuids.Count); Assert.AreEqual("22", carsByGuids[0].Number); Assert.AreEqual(addOrUpdateCar.Id, carsByGuids[0].Id); Assert.AreEqual(addOrUpdateCar.Guid, carsByGuids[0].Guid); repository.DeleteCar(agent, addOrUpdateCar); cars = entityRepository.GetEntitys(agent, EntityType.Car); Assert.AreEqual(0, cars.Count); }