How to instantiate a `Group` in unit tests?

I’m trying to unit test my use of the Okta .NET SDK, in particular the group API.

I’m mocking the output of the ListGroups, but new Group() instantiates a group that has no Id property. In real-life scenarios, all groups returned from that endpoint will have an Id property set.

I’ve tried using Mock API:

var mockGroup = new Mock<Group>();
var groupId = Guid.NewGuid().ToString()[..12];
mockGroup.Setup(g => g.Id).Returns(groupId);            

which buids, but fails at runtime:

System.NotSupportedException : Unsupported expression: g => g.Id

Non-overridable members (here: Group.get_Id) may not be used in setup / verification expressions.

This is because Group is a class and not an interface.

Would you consider introducing an IGroup interface, and returning it from ListGroups instead of Group to allow mocking?

Thank you

dotnet #csharp #group sdk #test

Hi,

You can take a look at our integration tests and also our unit tests which will provide you an idea regarding our mock responses

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.