public async Task GivenARegistryInitializer_WhenDatabaseIsNew_SearchParametersShouldBeUpserted() { ICosmosQuery <dynamic> cosmosQuery = Substitute.For <ICosmosQuery <dynamic> >(); _cosmosDocumentQueryFactory.Create <dynamic>(Arg.Any <Container>(), Arg.Any <CosmosQueryContext>()) .Returns(cosmosQuery); cosmosQuery .ExecuteNextAsync() .Returns(Substitute.ForPartsOf <FeedResponse <dynamic> >()); Container container = Substitute.For <Container>(); await _initializer.ExecuteAsync(container); container.Received().CreateTransactionalBatch(Arg.Any <PartitionKey>()); }
public async Task GivenARegistryInitializer_WhenDatabaseIsExisting_NothingNeedsToBeDone() { ICosmosQuery <dynamic> documentQuery = Substitute.For <ICosmosQuery <dynamic> >(); _cosmosDocumentQueryFactory.Create <dynamic>(Arg.Any <Container>(), Arg.Any <CosmosQueryContext>()) .Returns(documentQuery); var response = Substitute.ForPartsOf <FeedResponse <dynamic> >(); response.GetEnumerator() .Returns(new List <dynamic> { new SearchParameterStatusWrapper() }.GetEnumerator()); documentQuery .ExecuteNextAsync() .Returns(info => response); Container container = Substitute.For <Container>(); await _initializer.ExecuteAsync(container); container.DidNotReceive().CreateTransactionalBatch(Arg.Any <PartitionKey>()); }
public async Task GivenAQuery_WhenASinglePageReturnsRequestedCount_ASingleQueryIsPerformced() { ICosmosQuery <int> cosmosQuery = Substitute.For <ICosmosQuery <int> >(); _cosmosQueryFactory.Create <int>(default, default).ReturnsForAnyArgs(cosmosQuery);