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(); + } }