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);
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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 };
        }