3

I have a Durable Orchestrator function which returns a list from an activity function:

var returnList = await context.CallActivityAsync<List<MyObject>>("Activity", (input, context.InstanceId));

I have my xUnit Test setup as follows

var mock = new Mock<IDurableOrchestrationContext>();

var mockLogger = new Mock<Microsoft.Extensions.Logging.ILogger>();

var _returnList = new List<MyObject>();

mock.Setup(x=>x.CallActivityAsync<List<MyObject>("Activity",It.IsAny<Object>, string>>())).ReturnsAsync(_returnList);

var orch = new MyOrchestration();

await orc.Run(mock.Object,mockLogger.Object);

The Durable Functions Orchestrator Function always returns null where I want it to use the _returnList - Any help is appreciated.

Note: I am using DI so my orchestration and activity function are not static.

Nkosi
  • 235,767
  • 35
  • 427
  • 472
Jody
  • 323
  • 2
  • 11

1 Answers1

4

Solved. Problem was the line

mock
    .Setup(x=>x.CallActivityAsync<List<MyObject>("Activity",It.IsAny<Object>, string>>()))
    .ReturnsAsync(_returnList);

should of been

mock
    .Setup(x => x.CallActivityAsync<List<MyObject>>("Activity",It.IsAny<(List<MyObject>, string)>()))
    .ReturnsAsync(_returnList);
Nkosi
  • 235,767
  • 35
  • 427
  • 472
Jody
  • 323
  • 2
  • 11