public void Add_means_changes() { var context = new OEContext(); var product = new ProductPoco() { Id = 1, Name = "Test product", UnitPrice = 100 }; context.Set <ProductPoco>().Add(product); Assert.AreEqual(true, context.HasChanges()); }
public ActionResult GetProduct(Guid id) { ProductPoco poco = _logic.Get(id); if (poco == null) { return(NotFound()); } else { return(Ok(poco)); } }
public void Attach_detach_means_no_changes() { var context = new OEContext(); var product = new ProductPoco() { Id = 1, Name = "Test product", UnitPrice = 100 }; context.Set <ProductPoco>().Attach(product); Assert.AreEqual(false, context.HasChanges()); context.Set <ProductPoco>().Detach(product); Assert.AreEqual(false, context.HasChanges()); }
public void GetChanges_should_return_added() { var context = new OEContext(); var product = new ProductPoco() { Id = 1, Name = "Test product", UnitPrice = 100 }; context.Set <ProductPoco>().Add(product); var changes = context.GetChanges(); Assert.AreSame(product, changes.FirstOrDefault().Entity); }
public void GetChanges_should_not_return_attached_unchanged() { var context = new OEContext(); var product = new ProductPoco() { Id = 1, Name = "Test product", UnitPrice = 100 }; context.Set <ProductPoco>().Attach(product); var changes = context.GetChanges(); Assert.AreEqual(0, changes.Count()); }
public void Attach_modify_means_changes_at_the_end() { var context = new OEContext(); var product = new ProductPoco() { Id = 1, Name = "Test product", UnitPrice = 100 }; context.Set <ProductPoco>().Attach(product); Assert.AreEqual(false, context.HasChanges()); product.UnitPrice++; Assert.AreEqual(true, context.HasChanges()); }
public void CancelChanges_cancels_added_changes() { var context = new OEContext(); var product = new ProductPoco() { Id = 1, Name = "Test product", UnitPrice = 100 }; context.Set <ProductPoco>().Add(product); Assert.AreEqual(true, context.HasChanges()); Assert.AreEqual(1, context.GetChanges().Count()); context.CancelChanges(); Assert.AreEqual(false, context.HasChanges()); Assert.AreEqual(0, context.GetChanges().Count()); }
public void EntityChanged_should_be_triggered_on_added() { int changesCount = 0; var context = new OEContext(); context.EntityChanged += (s, e) => changesCount++; var product = new ProductPoco() { Id = 1, Name = "Test product", UnitPrice = 100 }; context.Set <ProductPoco>().Add(product); Assert.AreEqual(1, changesCount); }
public void GetChanges_should_not_return_added_modified_deleted() { var context = new OEContext(); var product = new ProductPoco() { Id = 1, Name = "Test product", UnitPrice = 100 }; context.Set <ProductPoco>().Add(product); product.UnitPrice++; context.Set <ProductPoco>().Delete(product); var changes = context.GetChanges(); Assert.AreEqual(0, changes.Count()); }
public void GetChanges_should_not_return_attached_modified_deleted() { var context = new OEContext(); var product = new ProductPoco() { Id = 1, Name = "Test product", UnitPrice = 100 }; context.Set <ProductPoco>().Attach(product); product.UnitPrice++; context.Set <ProductPoco>().Delete(product); var changes = context.GetChanges(); Assert.AreSame(product, changes.FirstOrDefault().Entity); }
public void ApplyChanges_applies_attached_deleted_changes() { var context = new OEContext(); var product = new ProductPoco() { Id = 1, Name = "Test product", UnitPrice = 100 }; context.Set <ProductPoco>().Attach(product); context.Set <ProductPoco>().Delete(product); Assert.AreEqual(true, context.HasChanges()); Assert.AreEqual(1, context.GetChanges().Count()); context.ApplyChanges(); Assert.AreEqual(false, context.HasChanges()); Assert.AreEqual(0, context.GetChanges().Count()); Assert.AreEqual(0, context.Set <ProductPoco>().GetAll().Count()); }
public void EntityChanged_should_be_triggered_on_deleted_but_not_on_modified_for_attached() { int changesCount = 0; var context = new OEContext(); context.EntityChanged += (s, e) => changesCount++; var product = new ProductPoco() { Id = 1, Name = "Test product", UnitPrice = 100 }; context.Set <ProductPoco>().Attach(product); Assert.AreEqual(0, changesCount); product.UnitPrice++; Assert.AreEqual(0, changesCount); context.Set <ProductPoco>().Delete(product); Assert.AreEqual(1, changesCount); }
public void GetChanges_should_return_attached_modified() { var context = new OEContext(); var product = new ProductPoco() { Id = 1, Name = "Test product", UnitPrice = 100 }; context.Set <ProductPoco>().Attach(product); product.UnitPrice++; var changes = context.GetChanges(); Assert.AreSame(product, changes.FirstOrDefault().Entity); var modifiedProperty = changes.First().ModifiedProperties.First(); Assert.AreEqual("UnitPrice", modifiedProperty.Name); Assert.AreEqual(100M, modifiedProperty.OriginalValue); }