public void SetupNewTConnects_Passes() { using (IDbContext idtoFakeContext = new IDTOFakeContext()) using (IUnitOfWork unitOfWork = new UnitOfWork(idtoFakeContext)) { Traveler traveler = new Traveler(); traveler.Id = 1; traveler.LastName = "MDT2"; Trip trip = new Trip(); trip.Id = 1; trip.TripStartDate = DateTime.Parse("1/1/2014 10:40"); trip.TravelerId = traveler.Id; trip.Traveler = traveler;//must set object for navigation property or lazy loading wont work for mock. Step stepEntity = new Step(); stepEntity.Id = 1; stepEntity.StepNumber = 1; stepEntity.TripId = trip.Id; stepEntity.StartDate = DateTime.Parse("1/1/2014 10:02"); stepEntity.EndDate = DateTime.Parse("1/1/2014 10:40"); stepEntity.FromName = "Quartz Street"; stepEntity.FromProviderId = (int)Providers.CapTrans; stepEntity.FromStopCode = "1001"; stepEntity.ModeId = (int)Modes.Bus; stepEntity.RouteNumber = "039"; stepEntity.Distance = (decimal)12.2; stepEntity.ToName = "Slate Run Road"; stepEntity.ToProviderId = (int)Providers.CapTrans; stepEntity.ToStopCode = "2002"; stepEntity.Trip = trip;//must set object for navigation property or lazy loading wont work for mock. TConnect tconn = new TConnect(); tconn.Id = 1; tconn.TConnectStatusId = (int)TConnectStatuses.New; tconn.InboundStepId = stepEntity.Id; tconn.InboundStep = stepEntity;//must set object for navigation property or lazy loading wont work for mock. unitOfWork.Repository <Traveler>().Insert(traveler); unitOfWork.Repository <Trip>().Insert(trip); unitOfWork.Repository <Step>().Insert(stepEntity); unitOfWork.Repository <TConnect>().Insert(tconn); unitOfWork.Save(); List <TConnect> newTconnects = unitOfWork.Repository <TConnect>().Query().Include(i => i.InboundStep.Trip.Traveler).Get() .Where(s => s.TConnectStatusId == (int)TConnectStatuses.New).ToList(); TConnectMonitorWorker worker = new TConnectMonitorWorker(null); worker.SetupNewTConnects(unitOfWork); List <TConnect> monitoredTConnects = unitOfWork.Repository <TConnect>().Query().Get() .Where(s => s.TConnectStatusId == (int)TConnectStatuses.Monitored).ToList(); Assert.AreEqual(1, monitoredTConnects.Count); } }
public void SetupNewTConnects_NoAction() { using (IDbContext idtoFakeContext = new IDTOFakeContext()) using (IUnitOfWork unitOfWork = new UnitOfWork(idtoFakeContext)) { Traveler traveler = new Traveler(); traveler.Id = 1; traveler.LastName = "MDT2"; Trip trip = new Trip(); trip.Id = 1; trip.TripStartDate = DateTime.UtcNow.AddMinutes(20); //make in future trip.TravelerId = traveler.Id; trip.Traveler = traveler; //must set object for navigation property or lazy loading wont work for mock. Step stepEntity = new Step(); stepEntity.Id = 1; stepEntity.StepNumber = 1; stepEntity.TripId = trip.Id; stepEntity.Trip = trip;//must set object for navigation property or lazy loading wont work for mock. TConnect tconn = new TConnect(); tconn.Id = 1; tconn.TConnectStatusId = (int)TConnectStatuses.New; tconn.InboundStepId = stepEntity.Id; tconn.InboundStep = stepEntity;//must set object for navigation property or lazy loading wont work for mock. unitOfWork.Repository <Traveler>().Insert(traveler); unitOfWork.Repository <Trip>().Insert(trip); unitOfWork.Repository <Step>().Insert(stepEntity); unitOfWork.Repository <TConnect>().Insert(tconn); unitOfWork.Save(); List <TConnect> newTconnects = unitOfWork.Repository <TConnect>().Query().Include(i => i.InboundStep.Trip.Traveler).Get() .Where(s => s.TConnectStatusId == (int)TConnectStatuses.New).ToList(); TConnectMonitorWorker worker = new TConnectMonitorWorker(new List <BusScheduleInterface.IBusSchedule>(new StubIBusSchedule[] { new StubIBusSchedule() })); worker.SetupNewTConnects(unitOfWork); List <TConnect> monitoredTConnects = unitOfWork.Repository <TConnect>().Query().Get() .Where(s => s.TConnectStatusId == (int)TConnectStatuses.New).ToList(); Assert.AreEqual(1, monitoredTConnects.Count); } }
public void testwithrealrepo_Passes() { //need to use Include, lazy loading is off using (IDbContext idtoFakeContext = new IDTOContext(@"Server=tcp:sfkee7y99k.database.windows.net,1433;Database=IDTO_Test;User ID=vital_admin@sfkee7y99k;Password=Super$0813^Monkey;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;")) using (IUnitOfWork unitOfWork = new UnitOfWork(idtoFakeContext)) { int firstrandomid = unitOfWork.Repository <TConnect>().Query().Get().Select(i => i.Id).First(); var t = unitOfWork.Repository <TConnect>().Query().Include(i => i.InboundStep.Trip.Traveler).Get() .Where(code => code.Id.Equals(firstrandomid)).First(); //vehiclenname line will fail if the below command is used instead. //var t = unitOfWork.Repository<TConnect>().Query().Get() // .Where(code => code.Id.Equals(firstrandomid)).First(); string vehicleName = t.InboundStep.Trip.Traveler.LastName; TConnectMonitorWorker worker = new TConnectMonitorWorker(null); worker.SetupNewTConnects(unitOfWork); } }