1+ using XrmPluginCore . Extensions ;
12using XrmPluginCore . Tests . Helpers ;
23using FluentAssertions ;
3- using Microsoft . Xrm . Sdk ;
44using NSubstitute ;
55using System ;
66using Xunit ;
7+ using Microsoft . Extensions . DependencyInjection ;
78
89namespace XrmPluginCore . Tests
910{
@@ -14,13 +15,16 @@ public void Constructor_ValidServiceProvider_ShouldInitializeCorrectly()
1415 {
1516 // Arrange
1617 var mockProvider = new MockServiceProvider ( ) ;
18+ var serviceProvider = mockProvider . ServiceProvider . BuildServiceProvider ( services => services ) ;
19+ var tracingService = serviceProvider . GetService < IExtendedTracingService > ( ) ;
1720
1821 // Act
19- var context = new LocalPluginContext ( mockProvider . ServiceProvider ) ;
22+ var context = new LocalPluginContext ( serviceProvider ) ;
2023
2124 // Assert
2225 context . PluginExecutionContext . Should ( ) . Be ( mockProvider . PluginExecutionContext ) ;
23- context . TracingService . Should ( ) . Be ( mockProvider . TracingService ) ;
26+ tracingService . Should ( ) . NotBeNull ( ) ;
27+ context . TracingService . Should ( ) . Be ( tracingService ) ;
2428 context . OrganizationService . Should ( ) . Be ( mockProvider . OrganizationService ) ;
2529 context . OrganizationAdminService . Should ( ) . Be ( mockProvider . OrganizationAdminService ) ;
2630 }
@@ -37,7 +41,8 @@ public void Trace_ValidMessage_ShouldCallTracingService()
3741 {
3842 // Arrange
3943 var mockProvider = new MockServiceProvider ( ) ;
40- var context = new LocalPluginContext ( mockProvider . ServiceProvider ) ;
44+ var serviceProvider = mockProvider . ServiceProvider . BuildServiceProvider ( services => services ) ;
45+ var context = new LocalPluginContext ( serviceProvider ) ;
4146 var testMessage = "Test trace message" ;
4247
4348 // Act
@@ -56,7 +61,8 @@ public void Trace_NullMessage_ShouldNotCallTracingService()
5661 {
5762 // Arrange
5863 var mockProvider = new MockServiceProvider ( ) ;
59- var context = new LocalPluginContext ( mockProvider . ServiceProvider ) ;
64+ var serviceProvider = mockProvider . ServiceProvider . BuildServiceProvider ( services => services ) ;
65+ var context = new LocalPluginContext ( serviceProvider ) ;
6066
6167 // Act
6268 context . Trace ( null ) ;
@@ -70,7 +76,8 @@ public void Trace_EmptyMessage_ShouldNotCallTracingService()
7076 {
7177 // Arrange
7278 var mockProvider = new MockServiceProvider ( ) ;
73- var context = new LocalPluginContext ( mockProvider . ServiceProvider ) ;
79+ var serviceProvider = mockProvider . ServiceProvider . BuildServiceProvider ( services => services ) ;
80+ var context = new LocalPluginContext ( serviceProvider ) ;
7481
7582 // Act
7683 context . Trace ( "" ) ;
@@ -84,7 +91,8 @@ public void Trace_WhitespaceMessage_ShouldNotCallTracingService()
8491 {
8592 // Arrange
8693 var mockProvider = new MockServiceProvider ( ) ;
87- var context = new LocalPluginContext ( mockProvider . ServiceProvider ) ;
94+ var serviceProvider = mockProvider . ServiceProvider . BuildServiceProvider ( services => services ) ;
95+ var context = new LocalPluginContext ( serviceProvider ) ;
8896
8997 // Act
9098 context . Trace ( " " ) ;
@@ -100,9 +108,10 @@ public void OrganizationService_ShouldUseUserId()
100108 var mockProvider = new MockServiceProvider ( ) ;
101109 var userId = Guid . NewGuid ( ) ;
102110 mockProvider . PluginExecutionContext . UserId . Returns ( userId ) ;
111+ var serviceProvider = mockProvider . ServiceProvider . BuildServiceProvider ( services => services ) ;
103112
104113 // Act
105- var context = new LocalPluginContext ( mockProvider . ServiceProvider ) ;
114+ var context = new LocalPluginContext ( serviceProvider ) ;
106115
107116 // Assert
108117 mockProvider . OrganizationServiceFactory . Received ( 1 ) . CreateOrganizationService ( userId ) ;
@@ -113,9 +122,10 @@ public void OrganizationAdminService_ShouldUseNullUserId()
113122 {
114123 // Arrange
115124 var mockProvider = new MockServiceProvider ( ) ;
125+ var serviceProvider = mockProvider . ServiceProvider . BuildServiceProvider ( services => services ) ;
116126
117127 // Act
118- var context = new LocalPluginContext ( mockProvider . ServiceProvider ) ;
128+ var context = new LocalPluginContext ( serviceProvider ) ;
119129
120130 // Assert
121131 mockProvider . OrganizationServiceFactory . Received ( 1 ) . CreateOrganizationService ( null ) ;
0 commit comments