diff --git a/src/Digitall.Testing/Extensions/FakedDataverseBuilderExtensions.cs b/src/Digitall.Testing/Extensions/FakedDataverseBuilderExtensions.cs
index 7801d90..5a8a69e 100644
--- a/src/Digitall.Testing/Extensions/FakedDataverseBuilderExtensions.cs
+++ b/src/Digitall.Testing/Extensions/FakedDataverseBuilderExtensions.cs
@@ -32,4 +32,17 @@ public static FakedDataverseBuilder AddOrganizationRequests(this FakedDataverseB
builder.OrganizationService.AddRequests(requests);
return builder;
}
+
+ ///
+ /// Retrieves the underlying FakedDataverse service from the FakedDataverseBuilder at call time.
+ ///
+ /// The FakedDataverseBuilder instance.
+ /// The output parameter for the FakedDataverse service.
+ /// The same FakedDataverseBuilder instance for method chaining.
+ public static FakedDataverseBuilder GetFakedDataverse(this FakedDataverseBuilder builder, out FakedDataverse service)
+ {
+ // Assign the OrganizationService from the builder to the output parameter
+ service = builder.OrganizationService;
+ return builder;
+ }
}
diff --git a/src/Digitall.Testing/FakedDataverseBuilder.cs b/src/Digitall.Testing/FakedDataverseBuilder.cs
index 4a2b1f7..9d6a22a 100644
--- a/src/Digitall.Testing/FakedDataverseBuilder.cs
+++ b/src/Digitall.Testing/FakedDataverseBuilder.cs
@@ -16,6 +16,6 @@ public FakedDataverseBuilder()
public new FakedDataverse OrganizationService
{
get => base.OrganizationService as FakedDataverse ?? throw new InvalidOperationException(@"¯\_(ツ)_/¯");
- set { base.OrganizationService = value; }
+ private set { base.OrganizationService = value; }
}
}
diff --git a/tests/Digitall.Testing.Tests/PluginExecutionContextBuilderTests.cs b/tests/Digitall.Testing.Tests/PluginExecutionContextBuilderTests.cs
index f4daf52..b33b652 100644
--- a/tests/Digitall.Testing.Tests/PluginExecutionContextBuilderTests.cs
+++ b/tests/Digitall.Testing.Tests/PluginExecutionContextBuilderTests.cs
@@ -176,4 +176,16 @@ public void TestPlugin_Durchstich()
tracingService.Received().Trace("TestPlugin: Execute");
}
+
+ [TestMethod]
+ public void GetFakedDataverse_Should_Return_FakedDataverse()
+ {
+ var entity = new Entity("unittest", Guid.NewGuid());
+
+ var serviceProvider = new FakedDataverseBuilder()
+ .GetFakedDataverse(out var service)
+ .BuildServiceProvider();
+
+ service.Should().NotBeNull().And.BeOfType();
+ }
}