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);
        }
示例#2
0
            public ExposedMongoEventStore(MongoDbEventStore <TAuthenticationToken> mongoDbEventStore)
            {
                PropertyInfo propertyInfo = mongoDbEventStore.GetType().GetProperty("MongoCollection", BindingFlags.Instance | BindingFlags.NonPublic);

                MongoCollection = (IMongoCollection <MongoDbEventData>)propertyInfo.GetValue(mongoDbEventStore);
            }