1- using Moq ;
1+ using Moq ;
22using NUnit . Framework ;
3+ using Umbraco . Cms . Core ;
34using Umbraco . Cms . Core . Models ;
45using Umbraco . Cms . Core . Models . PublishedContent ;
56using Umbraco . Cms . Core . PublishedCache ;
@@ -44,9 +45,10 @@ public void FilterAvailable_Invariant_ForPreview_YieldsUnpublishedItems()
4445
4546 [ TestCase ( "da-DK" , 3 ) ]
4647 [ TestCase ( "en-US" , 4 ) ]
48+ [ TestCase ( "*" , 5 ) ]
4749 public void FilterAvailable_Variant_ForNonPreview_YieldsPublishedItemsInCulture ( string culture , int expectedNumberOfChildren )
4850 {
49- var ( sut , items ) = SetupVariant ( false , culture ) ;
51+ var ( sut , items ) = SetupVariant ( false , culture == Constants . System . InvariantCulture ? "en-US" : culture ) ;
5052
5153 var children = sut . FilterAvailable ( items . Keys , culture ) . ToArray ( ) ;
5254 Assert . AreEqual ( expectedNumberOfChildren , children . Length ) ;
@@ -70,16 +72,24 @@ public void FilterAvailable_Variant_ForNonPreview_YieldsPublishedItemsInCulture(
7072 {
7173 Assert . AreEqual ( 8 , children [ 2 ] . Id ) ;
7274 }
75+
76+ if ( culture == Constants . System . InvariantCulture )
77+ {
78+ Assert . AreEqual ( 4 , children [ 2 ] . Id ) ;
79+ Assert . AreEqual ( 6 , children [ 3 ] . Id ) ;
80+ Assert . AreEqual ( 8 , children [ 4 ] . Id ) ;
81+ }
7382 }
7483
75- [ TestCase ( "da-DK" ) ]
76- [ TestCase ( "en-US" ) ]
77- public void FilterAvailable_Variant_ForPreview_YieldsUnpublishedItemsInCulture ( string culture )
84+ [ TestCase ( "da-DK" , 7 ) ]
85+ [ TestCase ( "en-US" , 7 ) ]
86+ [ TestCase ( "*" , 10 ) ]
87+ public void FilterAvailable_Variant_ForPreview_YieldsUnpublishedItemsInCulture ( string culture , int expectedNumberOfChildren )
7888 {
79- var ( sut , items ) = SetupVariant ( true , culture ) ;
89+ var ( sut , items ) = SetupVariant ( true , culture == Constants . System . InvariantCulture ? "en-US" : culture ) ;
8090
8191 var children = sut . FilterAvailable ( items . Keys , culture ) . ToArray ( ) ;
82- Assert . AreEqual ( 7 , children . Length ) ;
92+ Assert . AreEqual ( expectedNumberOfChildren , children . Length ) ;
8393
8494 // IDs 0 through 3 exist in both en-US and da-DK
8595 Assert . Multiple ( ( ) =>
@@ -105,16 +115,27 @@ public void FilterAvailable_Variant_ForPreview_YieldsUnpublishedItemsInCulture(s
105115 Assert . AreEqual ( 8 , children [ 5 ] . Id ) ;
106116 Assert . AreEqual ( 9 , children [ 6 ] . Id ) ;
107117 }
118+
119+ if ( culture == Constants . System . InvariantCulture )
120+ {
121+ Assert . AreEqual ( 4 , children [ 4 ] . Id ) ;
122+ Assert . AreEqual ( 5 , children [ 5 ] . Id ) ;
123+ Assert . AreEqual ( 6 , children [ 6 ] . Id ) ;
124+ Assert . AreEqual ( 7 , children [ 7 ] . Id ) ;
125+ Assert . AreEqual ( 8 , children [ 8 ] . Id ) ;
126+ Assert . AreEqual ( 9 , children [ 9 ] . Id ) ;
127+ }
108128 }
109129
110- [ TestCase ( "da-DK" ) ]
111- [ TestCase ( "en-US" ) ]
112- public void FilterAvailable_MixedVariance_ForNonPreview_YieldsPublishedItemsInCultureOrInvariant ( string culture )
130+ [ TestCase ( "da-DK" , 4 ) ]
131+ [ TestCase ( "en-US" , 4 ) ]
132+ [ TestCase ( "*" , 5 ) ]
133+ public void FilterAvailable_MixedVariance_ForNonPreview_YieldsPublishedItemsInCultureOrInvariant ( string culture , int expectedNumberOfChildren )
113134 {
114- var ( sut , items ) = SetupMixedVariance ( false , culture ) ;
135+ var ( sut , items ) = SetupMixedVariance ( false , culture == Constants . System . InvariantCulture ? "en-US" : culture ) ;
115136
116137 var children = sut . FilterAvailable ( items . Keys , culture ) . ToArray ( ) ;
117- Assert . AreEqual ( 4 , children . Length ) ;
138+ Assert . AreEqual ( expectedNumberOfChildren , children . Length ) ;
118139
119140 // IDs 0 through 2 are invariant - only even IDs are published
120141 Assert . Multiple ( ( ) =>
@@ -140,16 +161,23 @@ public void FilterAvailable_MixedVariance_ForNonPreview_YieldsPublishedItemsInCu
140161 {
141162 Assert . AreEqual ( 8 , children [ 3 ] . Id ) ;
142163 }
164+
165+ if ( culture == Constants . System . InvariantCulture )
166+ {
167+ Assert . AreEqual ( 6 , children [ 3 ] . Id ) ;
168+ Assert . AreEqual ( 8 , children [ 4 ] . Id ) ;
169+ }
143170 }
144171
145- [ TestCase ( "da-DK" ) ]
146- [ TestCase ( "en-US" ) ]
147- public void FilterAvailable_MixedVariance_FoPreview_YieldsPublishedItemsInCultureOrInvariant ( string culture )
172+ [ TestCase ( "da-DK" , 8 ) ]
173+ [ TestCase ( "en-US" , 8 ) ]
174+ [ TestCase ( "*" , 10 ) ]
175+ public void FilterAvailable_MixedVariance_ForPreview_YieldsPublishedItemsInCultureOrInvariant ( string culture , int expectedNumberOfChildren )
148176 {
149- var ( sut , items ) = SetupMixedVariance ( true , culture ) ;
177+ var ( sut , items ) = SetupMixedVariance ( true , culture == Constants . System . InvariantCulture ? "en-US" : culture ) ;
150178
151179 var children = sut . FilterAvailable ( items . Keys , culture ) . ToArray ( ) ;
152- Assert . AreEqual ( 8 , children . Length ) ;
180+ Assert . AreEqual ( expectedNumberOfChildren , children . Length ) ;
153181
154182 // IDs 0 through 2 are invariant
155183 Assert . Multiple ( ( ) =>
@@ -180,6 +208,14 @@ public void FilterAvailable_MixedVariance_FoPreview_YieldsPublishedItemsInCultur
180208 Assert . AreEqual ( 8 , children [ 6 ] . Id ) ;
181209 Assert . AreEqual ( 9 , children [ 7 ] . Id ) ;
182210 }
211+
212+ if ( culture == Constants . System . InvariantCulture )
213+ {
214+ Assert . AreEqual ( 6 , children [ 6 ] . Id ) ;
215+ Assert . AreEqual ( 7 , children [ 7 ] . Id ) ;
216+ Assert . AreEqual ( 8 , children [ 8 ] . Id ) ;
217+ Assert . AreEqual ( 9 , children [ 9 ] . Id ) ;
218+ }
183219 }
184220
185221 // sets up invariant test data:
@@ -328,7 +364,7 @@ private IPublishStatusQueryService SetupPublishStatusQueryService(Dictionary<Gui
328364 . Returns ( ( Guid key , string culture ) => items
329365 . TryGetValue ( key , out var item )
330366 && idIsPublished ( item . Id )
331- && ( item . ContentType . VariesByCulture ( ) is false || item . Cultures . ContainsKey ( culture ) ) ) ;
367+ && ( culture == Constants . System . InvariantCulture || item . ContentType . VariesByCulture ( ) is false || item . Cultures . ContainsKey ( culture ) ) ) ;
332368 publishStatusQueryService
333369 . Setup ( s => s . HasPublishedAncestorPath ( It . IsAny < Guid > ( ) ) )
334370 . Returns ( true ) ;
0 commit comments