I am writing unit tests using Moq in xUnit for a service that involves CosmosDB. There's a method GetVehicleInfo
which returns ItemResponse<VehicleInfo>
from CosmosDB. As ItemResponse
has a protected constructor so I can't new it up. Therefore, I'm mocking the caller method and doing
var responseMock = new Mock<ItemResponse<VehicleInfo>>();
responseMock.Setup(x => x.Resource).Returns(expectedItem); //expectedItem is of VehicleInfo type
cosmoRepoServiceStub.Setup(service => service.GetVehicleInfo("a1", "a2").Result).Returns(responseMock.Object);
The problem I face is that when GetVehicleInfo
is called as below, it returns null
always. I expect it to return ItemResponse<VehicleInfo>
wherein Resource
will contain expectedItem
.
ItemResponse<VehicleInfo> response = await _cosmosRepo.GetVehicleInfo(plate, country);
if (response == null){ //... }