public void _Save_should_choose_appopriate_InsertOne_from_IMongoCollection() { var bus = new Mock <IEventDispatcher>().Object; var dbMock = new Mock <IMongoDatabase>(); var collectionMock = new Mock <IMongoCollection <DomainEventForTest> >(); dbMock.Setup(db => db.GetCollection <DomainEventForTest>(typeof(DomainEventForTest).Name, null)) .Returns(collectionMock.Object); var sut = new MongoDbEventStore(dbMock.Object, bus); var method = sut.GetType().GetMethod("_Save", BindingFlags.NonPublic | BindingFlags.Instance); var domainEventForTest = new DomainEventForTest(); method.Invoke(sut, new object[] { domainEventForTest }); collectionMock.Verify(c => c.InsertOne(domainEventForTest, null, default(CancellationToken)), Times.Once); }
public ExposedMongoEventStore(MongoDbEventStore <TAuthenticationToken> mongoDbEventStore) { PropertyInfo propertyInfo = mongoDbEventStore.GetType().GetProperty("MongoCollection", BindingFlags.Instance | BindingFlags.NonPublic); MongoCollection = (IMongoCollection <MongoDbEventData>)propertyInfo.GetValue(mongoDbEventStore); }