1
1
using System . Collections . Generic ;
2
+ using FluentAssertions ;
2
3
using JsonApiDotNetCore . Configuration ;
3
4
using JsonApiDotNetCore . Hooks ;
4
5
using JsonApiDotNetCore . Middleware ;
@@ -47,90 +48,98 @@ public ServiceDiscoveryFacadeTests()
47
48
}
48
49
49
50
[ Fact ]
50
- public void DiscoverResources_Adds_Resources_From_Added_Assembly_To_Graph ( )
51
+ public void Can_add_resources_from_assembly_to_graph ( )
51
52
{
52
53
// Arrange
53
- ServiceDiscoveryFacade facade = new ServiceDiscoveryFacade ( _services , _resourceGraphBuilder , _options , _loggerFactory ) ;
54
+ var facade = new ServiceDiscoveryFacade ( _services , _resourceGraphBuilder , _options , _loggerFactory ) ;
54
55
facade . AddAssembly ( typeof ( Person ) . Assembly ) ;
55
56
56
57
// Act
57
58
facade . DiscoverResources ( ) ;
58
59
59
60
// Assert
60
61
var resourceGraph = _resourceGraphBuilder . Build ( ) ;
62
+
61
63
var personResource = resourceGraph . GetResourceContext ( typeof ( Person ) ) ;
64
+ personResource . Should ( ) . NotBeNull ( ) ;
65
+
62
66
var articleResource = resourceGraph . GetResourceContext ( typeof ( Article ) ) ;
63
- Assert . NotNull ( personResource ) ;
64
- Assert . NotNull ( articleResource ) ;
67
+ articleResource . Should ( ) . NotBeNull ( ) ;
65
68
}
66
69
67
70
[ Fact ]
68
- public void DiscoverResources_Adds_Resources_From_Current_Assembly_To_Graph ( )
71
+ public void Can_add_resource_from_current_assembly_to_graph ( )
69
72
{
70
73
// Arrange
71
- ServiceDiscoveryFacade facade = new ServiceDiscoveryFacade ( _services , _resourceGraphBuilder , _options , _loggerFactory ) ;
74
+ var facade = new ServiceDiscoveryFacade ( _services , _resourceGraphBuilder , _options , _loggerFactory ) ;
72
75
facade . AddCurrentAssembly ( ) ;
73
76
74
77
// Act
75
78
facade . DiscoverResources ( ) ;
76
79
77
80
// Assert
78
81
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 ( ) ;
81
85
}
82
86
83
87
[ 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 ( )
85
89
{
86
90
// Arrange
87
- ServiceDiscoveryFacade facade = new ServiceDiscoveryFacade ( _services , _resourceGraphBuilder , _options , _loggerFactory ) ;
91
+ var facade = new ServiceDiscoveryFacade ( _services , _resourceGraphBuilder , _options , _loggerFactory ) ;
88
92
facade . AddCurrentAssembly ( ) ;
89
93
90
94
// Act
91
95
facade . DiscoverInjectables ( ) ;
92
96
93
97
// Assert
94
98
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 > ( ) ;
97
102
}
98
103
99
104
[ 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 ( )
101
106
{
102
107
// Arrange
103
- ServiceDiscoveryFacade facade = new ServiceDiscoveryFacade ( _services , _resourceGraphBuilder , _options , _loggerFactory ) ;
108
+ var facade = new ServiceDiscoveryFacade ( _services , _resourceGraphBuilder , _options , _loggerFactory ) ;
104
109
facade . AddCurrentAssembly ( ) ;
105
110
106
111
// Act
107
112
facade . DiscoverInjectables ( ) ;
108
113
109
114
// Assert
110
115
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 > ( ) ;
112
119
}
113
120
114
121
[ 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 ( )
116
123
{
117
124
// Arrange
118
- ServiceDiscoveryFacade facade = new ServiceDiscoveryFacade ( _services , _resourceGraphBuilder , _options , _loggerFactory ) ;
125
+ var facade = new ServiceDiscoveryFacade ( _services , _resourceGraphBuilder , _options , _loggerFactory ) ;
119
126
facade . AddCurrentAssembly ( ) ;
120
127
121
128
// Act
122
129
facade . DiscoverInjectables ( ) ;
123
130
124
131
// Assert
125
132
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 > ( ) ;
127
136
}
128
137
129
138
[ 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 ( )
131
140
{
132
141
// Arrange
133
- ServiceDiscoveryFacade facade = new ServiceDiscoveryFacade ( _services , _resourceGraphBuilder , _options , _loggerFactory ) ;
142
+ var facade = new ServiceDiscoveryFacade ( _services , _resourceGraphBuilder , _options , _loggerFactory ) ;
134
143
facade . AddCurrentAssembly ( ) ;
135
144
136
145
_options . EnableResourceHooks = true ;
@@ -140,31 +149,33 @@ public void AddCurrentAssembly_Adds_Resource_Hooks_Definitions_From_Current_Asse
140
149
141
150
// Assert
142
151
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 > ( ) ;
144
155
}
145
156
146
- public sealed class TestModel : Identifiable { }
157
+ public sealed class TestResource : Identifiable { }
147
158
148
- public class TestModelService : JsonApiResourceService < TestModel >
159
+ public class TestResourceService : JsonApiResourceService < TestResource >
149
160
{
150
- public TestModelService (
161
+ public TestResourceService (
151
162
IResourceRepositoryAccessor repositoryAccessor ,
152
163
IQueryLayerComposer queryLayerComposer ,
153
164
IPaginationContext paginationContext ,
154
165
IJsonApiOptions options ,
155
166
ILoggerFactory loggerFactory ,
156
167
IJsonApiRequest request ,
157
- IResourceChangeTracker < TestModel > resourceChangeTracker ,
168
+ IResourceChangeTracker < TestResource > resourceChangeTracker ,
158
169
IResourceHookExecutorFacade hookExecutor )
159
170
: base ( repositoryAccessor , queryLayerComposer , paginationContext , options , loggerFactory , request ,
160
171
resourceChangeTracker , hookExecutor )
161
172
{
162
173
}
163
174
}
164
175
165
- public class TestModelRepository : EntityFrameworkCoreRepository < TestModel >
176
+ public class TestResourceRepository : EntityFrameworkCoreRepository < TestResource >
166
177
{
167
- public TestModelRepository (
178
+ public TestResourceRepository (
168
179
ITargetedFields targetedFields ,
169
180
IDbContextResolver contextResolver ,
170
181
IResourceGraph resourceGraph ,
@@ -175,14 +186,14 @@ public TestModelRepository(
175
186
{ }
176
187
}
177
188
178
- public class TestModelResourceHooksDefinition : ResourceHooksDefinition < TestModel >
189
+ public class TestResourceHooksDefinition : ResourceHooksDefinition < TestResource >
179
190
{
180
- public TestModelResourceHooksDefinition ( IResourceGraph resourceGraph ) : base ( resourceGraph ) { }
191
+ public TestResourceHooksDefinition ( IResourceGraph resourceGraph ) : base ( resourceGraph ) { }
181
192
}
182
193
183
- public class TestModelResourceDefinition : JsonApiResourceDefinition < TestModel >
194
+ public class TestResourceDefinition : JsonApiResourceDefinition < TestResource >
184
195
{
185
- public TestModelResourceDefinition ( IResourceGraph resourceGraph ) : base ( resourceGraph ) { }
196
+ public TestResourceDefinition ( IResourceGraph resourceGraph ) : base ( resourceGraph ) { }
186
197
}
187
198
}
188
199
}
0 commit comments