public FhirControllerTests()
 {
     _controller = new FhirController(
         _mediator,
         _logger,
         _contextAccessor,
         _urlResolver,
         Options.Create(_featureConfiguration),
         _authorizationService);
 }
    public void DeIdentify_ParsesDynamicSettings()
    {
        var domainPrefix      = "domain-prefix";
        var domainPrefixValue = new FhirString("test-");
        Dictionary <string, object> ruleSettings = null;

        var anonymizer = A.Fake <IAnonymizerEngine>();

        A.CallTo(() => anonymizer.AnonymizeResource(A <Resource> ._, A <AnonymizerSettings> ._))
        .Invokes((Resource _, AnonymizerSettings s) => ruleSettings = s?.DynamicRuleSettings);

        var controller = new FhirController(A.Fake <IConfiguration>(), A.Fake <ILogger <FhirController> >(),
                                            anonymizer, A.Fake <IDePseudonymizerEngine>());

        var parameters = new Parameters()
                         .Add("settings", new[] { Tuple.Create <String, Base>(domainPrefix, domainPrefixValue) })
                         .Add("resource", new Patient());

        controller.DeIdentify(parameters);

        ruleSettings.Should().ContainKey(domainPrefix).WhoseValue.Should().Be(domainPrefixValue);
    }