14
14
using Umbraco . Cms . Core ;
15
15
using Umbraco . Cms . Core . Configuration . Models ;
16
16
using Umbraco . Cms . Core . Events ;
17
+ using Umbraco . Cms . Core . Models . PublishedContent ;
17
18
using Umbraco . Cms . Core . PublishedCache ;
18
19
using Umbraco . Cms . Core . Routing ;
19
20
using Umbraco . Cms . Core . Services ;
@@ -92,36 +93,36 @@ private IPublishedRouter GetRouter(IPublishedRequest request)
92
93
=> Mock . Of < IPublishedRouter > ( x => x . RouteRequestAsync ( It . IsAny < IPublishedRequestBuilder > ( ) , It . IsAny < RouteRequestOptions > ( ) ) == Task . FromResult ( request ) ) ;
93
94
94
95
[ Test ]
95
- public async Task Noop_When_Runtime_Level_Not_Run ( )
96
+ public async Task Null_When_Runtime_Level_Not_Run ( )
96
97
{
97
98
UmbracoRouteValueTransformer transformer = GetTransformer (
98
99
Mock . Of < IUmbracoContextAccessor > ( ) ,
99
100
Mock . Of < IRuntimeState > ( ) ) ;
100
101
101
102
RouteValueDictionary result = await transformer . TransformAsync ( new DefaultHttpContext ( ) , new RouteValueDictionary ( ) ) ;
102
- Assert . AreEqual ( 0 , result . Count ) ;
103
+ Assert . IsNull ( result ) ;
103
104
}
104
105
105
106
[ Test ]
106
- public async Task Noop_When_No_Umbraco_Context ( )
107
+ public async Task Null_When_No_Umbraco_Context ( )
107
108
{
108
109
UmbracoRouteValueTransformer transformer = GetTransformerWithRunState (
109
110
Mock . Of < IUmbracoContextAccessor > ( ) ) ;
110
111
111
112
RouteValueDictionary result = await transformer . TransformAsync ( new DefaultHttpContext ( ) , new RouteValueDictionary ( ) ) ;
112
- Assert . AreEqual ( 0 , result . Count ) ;
113
+ Assert . IsNull ( result ) ;
113
114
}
114
115
115
116
[ Test ]
116
- public async Task Noop_When_Not_Document_Request ( )
117
+ public async Task Null_When_Not_Document_Request ( )
117
118
{
118
119
var umbracoContext = Mock . Of < IUmbracoContext > ( ) ;
119
120
UmbracoRouteValueTransformer transformer = GetTransformerWithRunState (
120
121
Mock . Of < IUmbracoContextAccessor > ( x => x . TryGetUmbracoContext ( out umbracoContext ) ) ,
121
122
Mock . Of < IRoutableDocumentFilter > ( x => x . IsDocumentRequest ( It . IsAny < string > ( ) ) == false ) ) ;
122
123
123
124
RouteValueDictionary result = await transformer . TransformAsync ( new DefaultHttpContext ( ) , new RouteValueDictionary ( ) ) ;
124
- Assert . AreEqual ( 0 , result . Count ) ;
125
+ Assert . IsNull ( result ) ;
125
126
}
126
127
127
128
[ Test ]
@@ -173,10 +174,10 @@ public async Task Assigns_UmbracoRouteValues_To_HttpContext_Feature()
173
174
}
174
175
175
176
[ Test ]
176
- public async Task Assigns_Values_To_RouteValueDictionary ( )
177
+ public async Task Assigns_Values_To_RouteValueDictionary_When_Content ( )
177
178
{
178
179
IUmbracoContext umbracoContext = GetUmbracoContext ( true ) ;
179
- IPublishedRequest request = Mock . Of < IPublishedRequest > ( ) ;
180
+ IPublishedRequest request = Mock . Of < IPublishedRequest > ( x => x . PublishedContent == Mock . Of < IPublishedContent > ( ) ) ;
180
181
UmbracoRouteValues routeValues = GetRouteValues ( request ) ;
181
182
182
183
UmbracoRouteValueTransformer transformer = GetTransformerWithRunState (
@@ -190,6 +191,23 @@ public async Task Assigns_Values_To_RouteValueDictionary()
190
191
Assert . AreEqual ( routeValues . ActionName , result [ ActionToken ] ) ;
191
192
}
192
193
194
+ [ Test ]
195
+ public async Task Returns_Null_RouteValueDictionary_When_No_Content ( )
196
+ {
197
+ IUmbracoContext umbracoContext = GetUmbracoContext ( true ) ;
198
+ IPublishedRequest request = Mock . Of < IPublishedRequest > ( x => x . PublishedContent == null ) ;
199
+ UmbracoRouteValues routeValues = GetRouteValues ( request ) ;
200
+
201
+ UmbracoRouteValueTransformer transformer = GetTransformerWithRunState (
202
+ Mock . Of < IUmbracoContextAccessor > ( x => x . TryGetUmbracoContext ( out umbracoContext ) ) ,
203
+ router : GetRouter ( request ) ,
204
+ routeValuesFactory : GetRouteValuesFactory ( request ) ) ;
205
+
206
+ RouteValueDictionary result = await transformer . TransformAsync ( new DefaultHttpContext ( ) , new RouteValueDictionary ( ) ) ;
207
+
208
+ Assert . IsNull ( result ) ;
209
+ }
210
+
193
211
private class TestController : RenderController
194
212
{
195
213
public TestController ( ILogger < TestController > logger , ICompositeViewEngine compositeViewEngine , IUmbracoContextAccessor umbracoContextAccessor )
0 commit comments