using System.Threading; using CoreUnitTests.Infrastructure; using MongoDB.Bson; using MongoDB.Driver; using Moq; namespace CoreUnitTests.BaseMongoRepositoryTests.IndexTests; public class BaseIndexTests : TestMongoRepositoryContext { protected Mock> SetupIndex(BsonDocument index, Mock> collection) { var asyncCursor = new Mock>(); asyncCursor .SetupSequence(x => x.MoveNextAsync(It.IsAny())) .ReturnsAsync(true) .ReturnsAsync(false); asyncCursor .SetupGet(x => x.Current) .Returns(new[] {index}); var indexManager = new Mock>(); indexManager .Setup(x => x.ListAsync(It.IsAny())) .ReturnsAsync(asyncCursor.Object); collection .SetupGet(x => x.Indexes) .Returns(indexManager.Object); return asyncCursor; } }