public void Test_Create() { var broker = _db.Brokers.First(); var sender = _db.Senders.First(); var applicationData = _db.Applications.First(x => !x.AirWaybillId.HasValue); var count = _db.AirWaybills.Count(); var model = _fixture .Build <AwbAdminModel>() .Without(x => x.GTD) .With(x => x.BrokerId, broker.Id) .With(x => x.SenderUserId, sender.UserId) .With(x => x.DateOfArrivalLocalString, LocalizationHelper.GetDate(DateTimeProvider.Now, _currentCulture)) .With(x => x.DateOfDepartureLocalString, LocalizationHelper.GetDate(DateTimeProvider.Now, _currentCulture)) .Create(); _controller.Create(applicationData.Id, model); var entity = _db.AirWaybills.Skip(count).Take(1).First(); Validate(model, entity.Id); _db.Refresh(RefreshMode.OverwriteCurrentValues, applicationData); Assert.AreEqual(FirstStateId, applicationData.StateId); applicationData.AirWaybillId = null; _db.AirWaybills.DeleteOnSubmit(entity); _db.SubmitChanges(); }
public void Test_SetAirWaybill() { var application = _db.Applications.First(x => !x.AirWaybillId.HasValue); var airWaybill = _db.AirWaybills.First(); _controller.SetAirWaybill(application.Id, airWaybill.Id); _db.Refresh(RefreshMode.OverwriteCurrentValues, application); Assert.AreEqual(airWaybill.Id, application.AirWaybillId); application.AirWaybillId = null; _db.SubmitChanges(); }
public void Test_Entity_Dirty_Attach() { Task task = null; using (var db = new TrackerDataContext { Log = Console.Out }) { task = db.Task.GetByKey(TaskId); task.Detach(); } task.Status = Status.Done; Assert.IsFalse(task.IsAttached()); // Let's update the task in a seperate DataContext. using (var db = new TrackerDataContext()) { db.Log = Console.Out; var task2 = db.Task.GetByKey(TaskId); task2.Status = Status.InProgress; db.SubmitChanges(); } // Attach the original task and send it to the database. using (var db = new TrackerDataContext()) { db.Log = Console.Out; Assert.IsFalse(task.IsAttached()); db.Task.Attach(task, true); db.Refresh(RefreshMode.KeepCurrentValues, task); Assert.IsTrue(task.IsAttached()); db.SubmitChanges(); } }