Exemplo n.º 1
0
        public void AddNull_Failure()
        {
            var collection = new Mock <IMongoCollection <BlankAggregate> >();
            var repository = new MongoDeltaRepository <BlankAggregate>(collection.Object);

            Assert.Throws <ArgumentNullException>(() =>
            {
                repository.Add(null);
            });
        }
Exemplo n.º 2
0
        public void AddSingleModel_Success()
        {
            var collection = new Mock <IMongoCollection <BlankAggregate> >();
            var repository = new MongoDeltaRepository <BlankAggregate>(collection.Object);

            var model = new BlankAggregate();

            Assert.DoesNotThrow(() =>
            {
                repository.Add(model);
            });
        }
Exemplo n.º 3
0
        public void AddSingleModelTwice_Failure()
        {
            var collection = new Mock <IMongoCollection <BlankAggregate> >();
            var repository = new MongoDeltaRepository <BlankAggregate>(collection.Object);

            var model = new BlankAggregate();

            Assert.DoesNotThrow(() =>
            {
                repository.Add(model);
            });

            Assert.Throws <ArgumentException>(() =>
            {
                repository.Add(model);
            });
        }
Exemplo n.º 4
0
        private static MongoDeltaRepository <BlankAggregate> CreateRepositoryForResults(List <BlankAggregate> results)
        {
            var collection = new Mock <IMongoCollection <BlankAggregate> >(MockBehavior.Strict);
            var collectionToQueryableConverter = new Mock <IMongoCollectionToQueryableConverter>(MockBehavior.Strict);
            var queryable = new Mock <IMongoQueryable <BlankAggregate> >();

            collectionToQueryableConverter.Setup(c => c.GetQueryable(collection.Object)).Returns(queryable.Object);
            var queryRunner = new Mock <IMongoQueryRunner>();

            queryRunner.Setup(q => q.RunAsync(It.IsAny <IMongoQueryable <BlankAggregate> >()))
            .Returns(Task.FromResult <IReadOnlyCollection <BlankAggregate> >(results));
            queryRunner.Setup(q => q.RunSingleAsync(It.IsAny <IMongoQueryable <BlankAggregate> >()))
            .Returns(() => Task.FromResult(results.SingleOrDefault()));

            var repository = new MongoDeltaRepository <BlankAggregate>(collection.Object, collectionToQueryableConverter.Object, queryRunner.Object);

            return(repository);
        }