Skip to content

Commit b68be64

Browse files
committed
bug: Should map metadata when converting from ResolutionDetails to FlagEvaluationDetails
Signed-off-by: Benjamin Evenson <[email protected]>
1 parent 79def47 commit b68be64

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

src/OpenFeature/Extension/ResolutionDetailsExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ internal static class ResolutionDetailsExtensions
77
public static FlagEvaluationDetails<T> ToFlagEvaluationDetails<T>(this ResolutionDetails<T> details)
88
{
99
return new FlagEvaluationDetails<T>(details.FlagKey, details.Value, details.ErrorType, details.Reason,
10-
details.Variant, details.ErrorMessage);
10+
details.Variant, details.ErrorMessage, details.FlagMetadata);
1111
}
1212
}
1313
}

test/OpenFeature.Tests/OpenFeatureClientTests.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
using NSubstitute.ExceptionExtensions;
1212
using OpenFeature.Constant;
1313
using OpenFeature.Error;
14+
using OpenFeature.Extension;
1415
using OpenFeature.Model;
1516
using OpenFeature.Tests.Internal;
1617
using Xunit;
@@ -365,5 +366,23 @@ public void Should_Get_And_Set_Context()
365366
client.SetContext(new EvaluationContextBuilder().Set(KEY, VAL).Build());
366367
Assert.Equal(VAL, client.GetContext().GetValue(KEY).AsInteger);
367368
}
369+
370+
[Fact]
371+
public void ToFlagEvaluationDetails_Should_Convert_All_Properties()
372+
{
373+
var fixture = new Fixture();
374+
var flagName = fixture.Create<string>();
375+
var boolValue = fixture.Create<bool>();
376+
var errorType = fixture.Create<ErrorType>();
377+
var reason = fixture.Create<string>();
378+
var variant = fixture.Create<string>();
379+
var errorMessage = fixture.Create<string>();
380+
var flagMetadata = fixture.Create<FlagMetadata>();
381+
382+
var expected = new ResolutionDetails<bool>(flagName, boolValue, errorType, reason, variant, errorMessage, flagMetadata);
383+
var result = expected.ToFlagEvaluationDetails();
384+
385+
result.Should().BeEquivalentTo(expected);
386+
}
368387
}
369388
}

0 commit comments

Comments
 (0)