Beispiel #1
0
        public void TestThatDeletingChildrenDoesntBreaks()
        {
            // Given
            var id          = Guid.NewGuid();
            var testStorage = new TestStorage
            {
                new ParentEntity(id),
                new ChildEntity(Guid.NewGuid())
                {
                    ParentId = id
                }
            };

            var instance = new TestObjectRepository(testStorage);

            // When
            instance.WaitForInitialize().GetAwaiter().GetResult();
            instance.Remove <ChildModel>(v => true);

            // Then
            // no exceptions
            var parentModel = instance.Set <ParentModel>().Single();
            var childModel  = instance.Set <ChildModel>().ToArray();

            Assert.AreEqual(parentModel.Children.Count(), 0);
            Assert.AreEqual(parentModel.OptionalChildren.Count(), 0);
            Assert.AreEqual(childModel.Length, 0);
        }