public async Task CreateRoomReturnsRoom()
        {
            _mockCollection.Setup(x => x.InsertOneAsync(
                                      It.IsAny <Room>(),
                                      It.IsAny <InsertOneOptions>(),
                                      It.IsAny <CancellationToken>()
                                      )).Returns(Task.FromResult(MongoHelper.BuildMockAsyncCursor((ICollection <Room>)_roomList)));
            _mockContext.Setup(x => x.MongoCollection).Returns(_mockCollection.Object);

            var repo   = new RoomRepository(_mockContext.Object);
            var result = await repo.CreateRoomAsync(_roomEntity).ConfigureAwait(true);

            Assert.NotNull(result);
        }
        public async Task GetByIdReturnsOne()
        {
            _mockCollection
            .Setup(x => x.FindAsync(
                       It.IsAny <FilterDefinition <Room> >(),
                       It.IsAny <FindOptions <Room> >(),
                       It.IsAny <CancellationToken>()
                       )).ReturnsAsync(MongoHelper.BuildMockAsyncCursor(_roomEntity));
            _mockContext.Setup(x => x.MongoCollection).Returns(_mockCollection.Object);
            var repo   = new RoomRepository(_mockContext.Object);
            var result = await repo.GetByIdAsync(Guid.NewGuid()).ConfigureAwait(true);

            Assert.IsType <Room>(result);
            Assert.Equal(_roomEntity.Id, result.Id);
        }
        public async Task GetAllReturnsList()
        {
            _mockCollection
            .Setup(x => x.FindAsync(
                       It.IsAny <FilterDefinition <Room> >(),
                       It.IsAny <FindOptions <Room> >(),
                       It.IsAny <CancellationToken>()
                       )).ReturnsAsync(MongoHelper.BuildMockAsyncCursor((ICollection <Room>)_roomList));
            _mockContext.Setup(x => x.MongoCollection).Returns(_mockCollection.Object);

            var repo   = new RoomRepository(_mockContext.Object);
            var result = await repo.GetAllAsync().ConfigureAwait(true);

            Assert.IsType <List <Room> >(result);
            Assert.NotEmpty(result);
        }