public void SaveBaseObject() { // Arrange var xref1 = new TestXref { Source = "aaa", SourceKey = "bbb" }; var xref2 = new TestXref { Source = "aaa", SourceKey = "bbb" }; var testBO = new TestBO { MyProperty = "22", MyProperty2 = "23", LastUpdate = DateTime.Now, Xrefs = new[] { xref1, xref2 } }; xref1.BaseObject = xref2.BaseObject = testBO; // Act masterDB.Save<int, TestBO, TestXref>(testBO); // Assert var objKey = testBO.ObjKey; Assert.That(objKey, Is.Not.EqualTo(0)); var savedBO = sessionFactory.GetCurrentSession().Query<TestBO>().Single(x => x.ObjKey == objKey); var xrefs = sessionFactory.GetCurrentSession().QueryOver<TestXref>().Where(x => x.BaseObjKey == objKey).List(); Assert.That(xrefs, Is.Not.Null); }
public void PresentBaseObjectCase() { // Arrange var presentBO = new TestBO { MyProperty = "old", ObjKey = 123, LastUpdate = now }; var presentXref = new TestXref { BaseObject = presentBO, BaseObjKey = presentBO.ObjKey, LastUpdate = now, ObjKey = 5132, Source = provider.Source, SourceKey = testXref.SourceKey, ObjectData = new TestBO { MyProperty = "old" } }; presentBO.Xrefs = new List<TestXref> { presentXref }; db.Setup(x => x.QueryForXref<int, TestBO, TestXref>(testXref.SourceKey, provider.Source)).Returns(presentXref); var newTime = now.AddDays(1); testXref.LastUpdate = newTime; PrepareSavedItems(); // Act provider.Provide(testXref); // Verify VerifySaved(); // Assert Assert.That(savedBO, Is.Not.Null); Assert.That(savedBO, Is.SameAs(presentBO)); Assert.That(savedBO.MyProperty, Is.EqualTo("new")); Assert.That(savedBO.ObjKey, Is.EqualTo(123)); Assert.That(savedBO.LastUpdate, Is.EqualTo(newTime)); Assert.That(savedBO.Xrefs, Is.Not.Null); Assert.That(savedBO.Xrefs.Count, Is.EqualTo(1)); var savedXref = savedBO.Xrefs[0]; Assert.That(savedXref, Is.Not.Null); Assert.That(savedXref, Is.SameAs(presentXref)); Assert.That(savedXref.Source, Is.EqualTo(provider.Source)); Assert.That(savedXref.ObjectData.MyProperty, Is.EqualTo("new")); Assert.That(savedXref.ObjKey, Is.EqualTo(5132)); Assert.That(savedXref.LastUpdate, Is.EqualTo(newTime)); }
public void SetUp() { db = new Mock<IMasterDataBase>(); provider = new TestProvider(); kernel = new Kernel(db.Object); kernel.RegisterDataProvider(provider); now = DateTime.Now; objectData = new TestBO { MyProperty = "new" }; testXref = new TestXref { SourceKey = "123", ObjectData = objectData, LastUpdate = now }; }