Skip to content

Commit d9a2ac7

Browse files
author
Bart Koelman
committed
Refactored tests for service discovery
1 parent db9778e commit d9a2ac7

File tree

1 file changed

+42
-31
lines changed

1 file changed

+42
-31
lines changed

test/DiscoveryTests/ServiceDiscoveryFacadeTests.cs

Lines changed: 42 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System.Collections.Generic;
2+
using FluentAssertions;
23
using JsonApiDotNetCore.Configuration;
34
using JsonApiDotNetCore.Hooks;
45
using JsonApiDotNetCore.Middleware;
@@ -47,90 +48,98 @@ public ServiceDiscoveryFacadeTests()
4748
}
4849

4950
[Fact]
50-
public void DiscoverResources_Adds_Resources_From_Added_Assembly_To_Graph()
51+
public void Can_add_resources_from_assembly_to_graph()
5152
{
5253
// Arrange
53-
ServiceDiscoveryFacade facade = new ServiceDiscoveryFacade(_services, _resourceGraphBuilder, _options, _loggerFactory);
54+
var facade = new ServiceDiscoveryFacade(_services, _resourceGraphBuilder, _options, _loggerFactory);
5455
facade.AddAssembly(typeof(Person).Assembly);
5556

5657
// Act
5758
facade.DiscoverResources();
5859

5960
// Assert
6061
var resourceGraph = _resourceGraphBuilder.Build();
62+
6163
var personResource = resourceGraph.GetResourceContext(typeof(Person));
64+
personResource.Should().NotBeNull();
65+
6266
var articleResource = resourceGraph.GetResourceContext(typeof(Article));
63-
Assert.NotNull(personResource);
64-
Assert.NotNull(articleResource);
67+
articleResource.Should().NotBeNull();
6568
}
6669

6770
[Fact]
68-
public void DiscoverResources_Adds_Resources_From_Current_Assembly_To_Graph()
71+
public void Can_add_resource_from_current_assembly_to_graph()
6972
{
7073
// Arrange
71-
ServiceDiscoveryFacade facade = new ServiceDiscoveryFacade(_services, _resourceGraphBuilder, _options, _loggerFactory);
74+
var facade = new ServiceDiscoveryFacade(_services, _resourceGraphBuilder, _options, _loggerFactory);
7275
facade.AddCurrentAssembly();
7376

7477
// Act
7578
facade.DiscoverResources();
7679

7780
// Assert
7881
var resourceGraph = _resourceGraphBuilder.Build();
79-
var testModelResource = resourceGraph.GetResourceContext(typeof(TestModel));
80-
Assert.NotNull(testModelResource);
82+
83+
var resource = resourceGraph.GetResourceContext(typeof(TestResource));
84+
resource.Should().NotBeNull();
8185
}
8286

8387
[Fact]
84-
public void DiscoverInjectables_Adds_Resource_Services_From_Current_Assembly_To_Container()
88+
public void Can_add_resource_service_from_current_assembly_to_container()
8589
{
8690
// Arrange
87-
ServiceDiscoveryFacade facade = new ServiceDiscoveryFacade(_services, _resourceGraphBuilder, _options, _loggerFactory);
91+
var facade = new ServiceDiscoveryFacade(_services, _resourceGraphBuilder, _options, _loggerFactory);
8892
facade.AddCurrentAssembly();
8993

9094
// Act
9195
facade.DiscoverInjectables();
9296

9397
// Assert
9498
var services = _services.BuildServiceProvider();
95-
var service = services.GetRequiredService<IResourceService<TestModel>>();
96-
Assert.IsType<TestModelService>(service);
99+
100+
var resourceService = services.GetRequiredService<IResourceService<TestResource>>();
101+
resourceService.Should().BeOfType<TestResourceService>();
97102
}
98103

99104
[Fact]
100-
public void DiscoverInjectables_Adds_Resource_Repositories_From_Current_Assembly_To_Container()
105+
public void Can_add_resource_repository_from_current_assembly_to_container()
101106
{
102107
// Arrange
103-
ServiceDiscoveryFacade facade = new ServiceDiscoveryFacade(_services, _resourceGraphBuilder, _options, _loggerFactory);
108+
var facade = new ServiceDiscoveryFacade(_services, _resourceGraphBuilder, _options, _loggerFactory);
104109
facade.AddCurrentAssembly();
105110

106111
// Act
107112
facade.DiscoverInjectables();
108113

109114
// Assert
110115
var services = _services.BuildServiceProvider();
111-
Assert.IsType<TestModelRepository>(services.GetRequiredService<IResourceRepository<TestModel>>());
116+
117+
var resourceRepository = services.GetRequiredService<IResourceRepository<TestResource>>();
118+
resourceRepository.Should().BeOfType<TestResourceRepository>();
112119
}
113120

114121
[Fact]
115-
public void AddCurrentAssembly_Adds_Resource_Definitions_From_Current_Assembly_To_Container()
122+
public void Can_add_resource_definition_from_current_assembly_to_container()
116123
{
117124
// Arrange
118-
ServiceDiscoveryFacade facade = new ServiceDiscoveryFacade(_services, _resourceGraphBuilder, _options, _loggerFactory);
125+
var facade = new ServiceDiscoveryFacade(_services, _resourceGraphBuilder, _options, _loggerFactory);
119126
facade.AddCurrentAssembly();
120127

121128
// Act
122129
facade.DiscoverInjectables();
123130

124131
// Assert
125132
var services = _services.BuildServiceProvider();
126-
Assert.IsType<TestModelResourceDefinition>(services.GetRequiredService<IResourceDefinition<TestModel>>());
133+
134+
var resourceDefinition = services.GetRequiredService<IResourceDefinition<TestResource>>();
135+
resourceDefinition.Should().BeOfType<TestResourceDefinition>();
127136
}
128137

129138
[Fact]
130-
public void AddCurrentAssembly_Adds_Resource_Hooks_Definitions_From_Current_Assembly_To_Container()
139+
public void Can_add_resource_hooks_definition_from_current_assembly_to_container()
131140
{
132141
// Arrange
133-
ServiceDiscoveryFacade facade = new ServiceDiscoveryFacade(_services, _resourceGraphBuilder, _options, _loggerFactory);
142+
var facade = new ServiceDiscoveryFacade(_services, _resourceGraphBuilder, _options, _loggerFactory);
134143
facade.AddCurrentAssembly();
135144

136145
_options.EnableResourceHooks = true;
@@ -140,31 +149,33 @@ public void AddCurrentAssembly_Adds_Resource_Hooks_Definitions_From_Current_Asse
140149

141150
// Assert
142151
var services = _services.BuildServiceProvider();
143-
Assert.IsType<TestModelResourceHooksDefinition>(services.GetRequiredService<ResourceHooksDefinition<TestModel>>());
152+
153+
var resourceHooksDefinition = services.GetRequiredService<ResourceHooksDefinition<TestResource>>();
154+
resourceHooksDefinition.Should().BeOfType<TestResourceHooksDefinition>();
144155
}
145156

146-
public sealed class TestModel : Identifiable { }
157+
public sealed class TestResource : Identifiable { }
147158

148-
public class TestModelService : JsonApiResourceService<TestModel>
159+
public class TestResourceService : JsonApiResourceService<TestResource>
149160
{
150-
public TestModelService(
161+
public TestResourceService(
151162
IResourceRepositoryAccessor repositoryAccessor,
152163
IQueryLayerComposer queryLayerComposer,
153164
IPaginationContext paginationContext,
154165
IJsonApiOptions options,
155166
ILoggerFactory loggerFactory,
156167
IJsonApiRequest request,
157-
IResourceChangeTracker<TestModel> resourceChangeTracker,
168+
IResourceChangeTracker<TestResource> resourceChangeTracker,
158169
IResourceHookExecutorFacade hookExecutor)
159170
: base(repositoryAccessor, queryLayerComposer, paginationContext, options, loggerFactory, request,
160171
resourceChangeTracker, hookExecutor)
161172
{
162173
}
163174
}
164175

165-
public class TestModelRepository : EntityFrameworkCoreRepository<TestModel>
176+
public class TestResourceRepository : EntityFrameworkCoreRepository<TestResource>
166177
{
167-
public TestModelRepository(
178+
public TestResourceRepository(
168179
ITargetedFields targetedFields,
169180
IDbContextResolver contextResolver,
170181
IResourceGraph resourceGraph,
@@ -175,14 +186,14 @@ public TestModelRepository(
175186
{ }
176187
}
177188

178-
public class TestModelResourceHooksDefinition : ResourceHooksDefinition<TestModel>
189+
public class TestResourceHooksDefinition : ResourceHooksDefinition<TestResource>
179190
{
180-
public TestModelResourceHooksDefinition(IResourceGraph resourceGraph) : base(resourceGraph) { }
191+
public TestResourceHooksDefinition(IResourceGraph resourceGraph) : base(resourceGraph) { }
181192
}
182193

183-
public class TestModelResourceDefinition : JsonApiResourceDefinition<TestModel>
194+
public class TestResourceDefinition : JsonApiResourceDefinition<TestResource>
184195
{
185-
public TestModelResourceDefinition(IResourceGraph resourceGraph) : base(resourceGraph) { }
196+
public TestResourceDefinition(IResourceGraph resourceGraph) : base(resourceGraph) { }
186197
}
187198
}
188199
}

0 commit comments

Comments
 (0)