public void UpdateStateFields_Should_SetStateFieldAsCreated_When_EntityIsAdded()
        {
            // Given
            using var db = CreateDb(true);

            // When
            var entity = new StateTestEntity();

            db.Entities.Add(entity);
            db.SaveChanges();

            // When
            entity.State.Should().Be(State.Created);
        }
        public void ApplyIgnoreDeletedStateEntitiesFromQuery_Should_IghnoreFromQuery_When_EmtotuIsRemoved()
        {
            // Given
            using var db = CreateDb(true);
            var entity = new StateTestEntity();

            db.Entities.Add(entity);
            db.SaveChanges();

            // When
            db.Entities.Remove(entity);
            db.SaveChanges();

            // When
            db.Entities.Count().Should().Be(0);
        }
        public void ApplyIgnoreDeletedStateEntitiesFromQuery_Should_BeQueriedDeletedEntities_When_ExtensionMethodIsNotCalled()
        {
            // Given
            using var db = CreateDb(false);
            var entity = new StateTestEntity();

            db.Entities.Add(entity);
            db.SaveChanges();

            // When
            db.Entities.Remove(entity);
            db.SaveChanges();

            // When
            db.Entities.Count().Should().Be(1);
        }
        public void UpdateStateFields_Should_SetStateFieldAsUpdated_When_EntityIsModified()
        {
            // Given
            using var db = CreateDb(true);
            var entity = new StateTestEntity();

            db.Entities.Add(entity);
            db.SaveChanges();

            // When
            entity.Message = "update field";
            db.SaveChanges();

            // When
            entity.State.Should().Be(State.Updated);
        }