1

I have a Feature Flag in the Azure portal, used from some controllers in a .NET Core Web App.

At runtime, it works correctly switching on and off the FF on the real portal.

I should write 2 Unit tests, simulating when the Feature Flag is On and when Off.

For the Off, I can write

var featMan = new Mock<IFeatureManager>().Object;

And it works, the problem is to simulate when On.

I found this page, https://github.com/microsoft/FeatureManagement-Dotnet/issues/19#issue-517953297 , but in the downloadable code there is no StubFeatureManagerWithFeatureAOn definition.

Roberto Alessi
  • 132
  • 2
  • 13

1 Answers1

4

You just need to configure your Mock to return specific value in specific cases. For example to emulate that test-feature is On you'd write something like this

[Test]
public async Task TestFeatureManager()
{
    var featureManageMock = new Mock<IFeatureManager>();
    featureManageMock
        .Setup(m => m.IsEnabledAsync("test-feature"))
        .Returns(Task.FromResult(true));

    var featureManager = featureManageMock.Object;

    Assert.IsTrue(await featureManager.IsEnabledAsync("test-feature"));
}
Alexander
  • 9,104
  • 1
  • 17
  • 41