public async Task GetUsersAsync_Test() { //Arrange var feedIterator = CreateFeedIteratorWithResponse(Fixture.CreateMany <string>()); Container.GetItemQueryIterator <string>(Arg.Any <QueryDefinition>(), requestOptions: Arg.Any <QueryRequestOptions>()) .ReturnsForAnyArgs(feedIterator); var users = Fixture.CreateMany <User>().ToArray(); var userFeedIterator = CreateFeedIteratorWithResponse(users); Container.GetItemQueryIterator <User>(Arg.Any <QueryDefinition>(), requestOptions: Arg.Any <QueryRequestOptions>()) .ReturnsForAnyArgs(userFeedIterator); var mappedUser = Fixture.Create <Models.UserInfo>(); Mapper.Map <Models.UserInfo>(Arg.Any <User>()).ReturnsForAnyArgs(mappedUser); //Act var result = await _sut.GetUsersAsync(ApplicationId, _id).ConfigureAwait(false); //Assert result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); var results = ((OkObjectResult)result).Value as Models.UserInfo[]; results.Should().NotBeNullOrEmpty(); results.Length.Should().Be(users.Length); results.All(u => ReferenceEquals(u, mappedUser)).Should().BeTrue(); Container.Received(1) .GetItemQueryIterator <string>(Arg.Any <QueryDefinition>(), requestOptions: Arg.Any <QueryRequestOptions>()); Container.Received(1) .GetItemQueryIterator <User>(Arg.Any <QueryDefinition>(), requestOptions: Arg.Any <QueryRequestOptions>()); Mapper.Received(users.Length).Map <Models.UserInfo>(Arg.Any <User>()); }