public void FindRequiresId()
        {
            var connection = TestConfiguration.GetConnection();
            var context    = new MongoDbContext(connection);
            var dbSet      = new MongoDbSet <TestModel>(context);

            Assert.ThrowsException <ArgumentNullException>(() => dbSet.Find(null));
        }
        public void SuccessfulNullFind()
        {
            var connection = TestConfiguration.GetConnection();
            var context    = new MongoDbContext(connection);
            var dbSet      = new MongoDbSet <TestModel>(context);

            var model = new TestModel
            {
                Description = "SuccessfulNullFind"
            };

            dbSet.Add(model);

            context.SaveChanges();

            Assert.IsNull(dbSet.Find("abcd"));
        }
        public void SuccessfullyFindTracked()
        {
            var connection = TestConfiguration.GetConnection();
            var context    = new MongoDbContext(connection);
            var dbSet      = new MongoDbSet <TestModel>(context);

            var model = new TestModel
            {
                Id          = "abcd",
                Description = "SuccessfullyFindTracked"
            };

            dbSet.Add(model);

            //Note: not saving, but still should be found as tracked
            Assert.AreEqual("SuccessfullyFindTracked", dbSet.Find(model.Id).Description);
            Assert.AreEqual(MongoFramework.Infrastructure.EntityEntryState.Added, context.ChangeTracker.GetEntry(model).State);
        }
        public void SuccessfulInsertAndFind()
        {
            var connection = TestConfiguration.GetConnection();
            var context    = new MongoDbContext(connection);
            var dbSet      = new MongoDbSet <TestModel>(context);

            var model = new TestModel
            {
                Description = "SuccessfulInsertAndFind"
            };

            dbSet.Add(model);

            context.SaveChanges();

            context = new MongoDbContext(connection);
            dbSet   = new MongoDbSet <TestModel>(context);
            Assert.AreEqual("SuccessfulInsertAndFind", dbSet.Find(model.Id).Description);
            Assert.AreEqual(MongoFramework.Infrastructure.EntityEntryState.NoChanges, context.ChangeTracker.GetEntry(model).State);
        }