You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The IPnPContextFactory interface has create methods returning concretions and, as discussed elsewhere, PnPContext only has internal constructors meaning that setting up responses for Create calls is problematic.
Steps to reproduce
For example, the following snippet will fail:
// some code
_contextFactory.Setup(x =>
x.CreateAsync(new Uri(SharepointBaseUri), new WrappedTokenProvider(SharepointToken), null))
.Returns(Task.FromResult(ctx.Object));
// some code
Expected behavior
As PnPContext implements the IPnPContext interface, I would expect the Create method calls on IPnPContextFactory to return abstractions and not concretions thereby allowing for unit testing of code consuming these classes.
The text was updated successfully, but these errors were encountered:
@freddieontheweb : I get your point, it's indeed not ideal for testing but it's how things have been designed for this version. We can possibly re-evaluate for a future major version revamp but we've no short-term plans for this at the moment. I'm open for a suggestion from your side that implements what you need without breaking the existing method signatures.
@jansenbe: In August 2022 you committed the changes (32dcbfb). If that method works, I think you should release it, in order to Moq correctly PnPContext. Using IPnPContext approach is ineffective for my case.
Category
Describe the bug
The IPnPContextFactory interface has create methods returning concretions and, as discussed elsewhere, PnPContext only has internal constructors meaning that setting up responses for Create calls is problematic.
Steps to reproduce
For example, the following snippet will fail:
Expected behavior
As PnPContext implements the IPnPContext interface, I would expect the Create method calls on IPnPContextFactory to return abstractions and not concretions thereby allowing for unit testing of code consuming these classes.
The text was updated successfully, but these errors were encountered: