public void EntityProcessorsRunWhenToDictionaryIsUsed() { EntityMapping.RegisterType(typeof(MongoFrameworkQueryableModel)); var connection = TestConfiguration.GetConnection(); var provider = new MongoFrameworkQueryProvider <MongoFrameworkQueryableModel>(connection); var queryable = new MongoFrameworkQueryable <MongoFrameworkQueryableModel>(provider); var processor = new TestProcessor <MongoFrameworkQueryableModel>(); provider.EntityProcessors.Add(processor); var entityCollection = new EntityCollection <MongoFrameworkQueryableModel>(); var writerPipeline = new EntityWriterPipeline <MongoFrameworkQueryableModel>(connection); writerPipeline.AddCollection(entityCollection); entityCollection.Update(new MongoFrameworkQueryableModel { Title = "EntityProcessorsRunWithToDictionaryTest" }, EntityEntryState.Added); writerPipeline.Write(); var result = queryable.ToDictionary(m => m.Id); Assert.AreEqual("EntityProcessorsRunWithToDictionaryTest", result.FirstOrDefault().Value.Title); Assert.IsTrue(processor.EntityProcessed); }
public void EntityProcessorsRunWhenToDictionaryIsUsed() { EntityMapping.RegisterType(typeof(MongoFrameworkQueryableModel)); var connection = TestConfiguration.GetConnection(); var context = new MongoDbContext(connection); var provider = new MongoFrameworkQueryProvider <MongoFrameworkQueryableModel>(connection); var queryable = new MongoFrameworkQueryable <MongoFrameworkQueryableModel>(provider); var processor = new TestProcessor <MongoFrameworkQueryableModel>(); provider.EntityProcessors.Add(processor); context.ChangeTracker.SetEntityState(new MongoFrameworkQueryableModel { Title = "EntityProcessorsRunWithToDictionaryTest" }, EntityEntryState.Added); context.SaveChanges(); var result = queryable.ToDictionary(m => m.Id); Assert.AreEqual("EntityProcessorsRunWithToDictionaryTest", result.FirstOrDefault().Value.Title); Assert.IsTrue(processor.EntityProcessed); }