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 AddOrUpdateCar_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 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>(); 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); 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.AddOrUpdateCar(agent, new Car { Id = 0, Number = "1", }); var agents = entityRepository.GetEntitys(agent, EntityType.Car); Assert.AreEqual(1, agents.Count); Assert.AreEqual(addOrUpdateAgent.Guid, agents[0]); }
public void AddOrUpdateCar_CarNumberNull() { var mockContext = new Mock <ApplicationContext>(); var mockLogger = new Mock <ILogger>(); var mockRightRepository = new Mock <IRightRepository>(); var mockEntityRepository = new Mock <IEntityRepository>(); var repository = new EntityFrameworkCarRepository(mockLogger.Object, mockEntityRepository.Object, mockRightRepository.Object, mockContext.Object); repository.AddOrUpdateCar(Guid.NewGuid(), new Car()); }