@@ -87,9 +87,9 @@ public void Apply_WithinInKeepLatestPerDay_ReturnsSinglePerContentPerDay(
87
87
new ContentVersionMeta ( versionId : 5 , contentId : 1 , contentTypeId : 1 , - 1 , versionDate : DateTime . Today . AddDays ( - 1 ) . AddHours ( - 2 ) , false , false , false , null ) ,
88
88
new ContentVersionMeta ( versionId : 6 , contentId : 1 , contentTypeId : 1 , - 1 , versionDate : DateTime . Today . AddDays ( - 1 ) . AddHours ( - 1 ) , false , false , false , null ) ,
89
89
// another content
90
- new ContentVersionMeta ( versionId : 7 , contentId : 2 , contentTypeId : 1 , - 1 , versionDate : DateTime . Today . AddHours ( - 3 ) , false , false , false , null ) ,
91
- new ContentVersionMeta ( versionId : 8 , contentId : 2 , contentTypeId : 1 , - 1 , versionDate : DateTime . Today . AddHours ( - 2 ) , false , false , false , null ) ,
92
- new ContentVersionMeta ( versionId : 9 , contentId : 2 , contentTypeId : 1 , - 1 , versionDate : DateTime . Today . AddHours ( - 1 ) , false , false , false , null ) ,
90
+ new ContentVersionMeta ( versionId : 7 , contentId : 2 , contentTypeId : 2 , - 1 , versionDate : DateTime . Today . AddHours ( - 3 ) , false , false , false , null ) ,
91
+ new ContentVersionMeta ( versionId : 8 , contentId : 2 , contentTypeId : 2 , - 1 , versionDate : DateTime . Today . AddHours ( - 2 ) , false , false , false , null ) ,
92
+ new ContentVersionMeta ( versionId : 9 , contentId : 2 , contentTypeId : 2 , - 1 , versionDate : DateTime . Today . AddHours ( - 1 ) , false , false , false , null ) ,
93
93
} ;
94
94
95
95
globalSettings . Setup ( x => x . ContentVersionCleanupPolicyGlobalSettings )
@@ -103,12 +103,17 @@ public void Apply_WithinInKeepLatestPerDay_ReturnsSinglePerContentPerDay(
103
103
104
104
var results = sut . Apply ( DateTime . Today , historicItems ) . ToList ( ) ;
105
105
106
+ // Keep latest per day for 3 days per content type
107
+ // 2 content types, one of which has 2 days of entries, the other only a single day
108
+
106
109
Assert . Multiple ( ( ) =>
107
110
{
108
- Assert . AreEqual ( 3 , results . Count ) ;
109
- Assert . True ( results . Exists ( x => x . VersionId == 3 ) ) ;
110
- Assert . True ( results . Exists ( x => x . VersionId == 6 ) ) ;
111
- Assert . True ( results . Exists ( x => x . VersionId == 9 ) ) ;
111
+ Assert . AreEqual ( 6 , results . Count ) ;
112
+ Assert . AreEqual ( 4 , results . Count ( x => x . ContentTypeId == 1 ) ) ;
113
+ Assert . AreEqual ( 2 , results . Count ( x => x . ContentTypeId == 2 ) ) ;
114
+ Assert . False ( results . Any ( x => x . VersionId == 9 ) ) ; // Most recent for content type 2
115
+ Assert . False ( results . Any ( x => x . VersionId == 3 ) ) ; // Most recent for content type 1 today
116
+ Assert . False ( results . Any ( x => x . VersionId == 6 ) ) ; // Most recent for content type 1 yesterday
112
117
} ) ;
113
118
}
114
119
@@ -191,10 +196,14 @@ public void Apply_HasOverridePolicy_RespectsKeepLatest(
191
196
new ContentVersionMeta ( versionId : 1 , contentId : 1 , contentTypeId : 1 , - 1 , versionDate : DateTime . Today . AddHours ( - 3 ) , false , false , false , null ) ,
192
197
new ContentVersionMeta ( versionId : 2 , contentId : 1 , contentTypeId : 1 , - 1 , versionDate : DateTime . Today . AddHours ( - 2 ) , false , false , false , null ) ,
193
198
new ContentVersionMeta ( versionId : 3 , contentId : 1 , contentTypeId : 1 , - 1 , versionDate : DateTime . Today . AddHours ( - 1 ) , false , false , false , null ) ,
199
+ // another content
200
+ new ContentVersionMeta ( versionId : 4 , contentId : 2 , contentTypeId : 1 , - 1 , versionDate : DateTime . Today . AddHours ( - 3 ) , false , false , false , null ) ,
201
+ new ContentVersionMeta ( versionId : 5 , contentId : 2 , contentTypeId : 1 , - 1 , versionDate : DateTime . Today . AddHours ( - 2 ) , false , false , false , null ) ,
202
+ new ContentVersionMeta ( versionId : 6 , contentId : 2 , contentTypeId : 1 , - 1 , versionDate : DateTime . Today . AddHours ( - 1 ) , false , false , false , null ) ,
194
203
// another content & type
195
- new ContentVersionMeta ( versionId : 4 , contentId : 2 , contentTypeId : 2 , - 1 , versionDate : DateTime . Today . AddHours ( - 3 ) , false , false , false , null ) ,
196
- new ContentVersionMeta ( versionId : 5 , contentId : 2 , contentTypeId : 2 , - 1 , versionDate : DateTime . Today . AddHours ( - 2 ) , false , false , false , null ) ,
197
- new ContentVersionMeta ( versionId : 6 , contentId : 2 , contentTypeId : 2 , - 1 , versionDate : DateTime . Today . AddHours ( - 1 ) , false , false , false , null ) ,
204
+ new ContentVersionMeta ( versionId : 7 , contentId : 3 , contentTypeId : 2 , - 1 , versionDate : DateTime . Today . AddHours ( - 3 ) , false , false , false , null ) ,
205
+ new ContentVersionMeta ( versionId : 8 , contentId : 3 , contentTypeId : 2 , - 1 , versionDate : DateTime . Today . AddHours ( - 2 ) , false , false , false , null ) ,
206
+ new ContentVersionMeta ( versionId : 9 , contentId : 3 , contentTypeId : 2 , - 1 , versionDate : DateTime . Today . AddHours ( - 1 ) , false , false , false , null ) ,
198
207
} ;
199
208
200
209
globalSettings . Setup ( x => x . ContentVersionCleanupPolicyGlobalSettings )
@@ -211,10 +220,15 @@ public void Apply_HasOverridePolicy_RespectsKeepLatest(
211
220
212
221
var results = sut . Apply ( DateTime . Today , historicItems ) . ToList ( ) ;
213
222
223
+ // By default no historic versions are kept
224
+ // Override policy for content type 2 keeps latest per day for 3 days, no versions retained for content type with id 1
225
+ // There were 3 entries for content type 2 all on the same day
226
+ // version id 9 is most recent for content type 2, and should be filtered, all the rest should be present.
214
227
Assert . Multiple ( ( ) =>
215
228
{
216
- Assert . AreEqual ( 3 , results . Count ( x => x . ContentTypeId == 1 ) ) ;
217
- Assert . AreEqual ( 6 , results . Single ( x => x . ContentTypeId == 2 ) . VersionId ) ;
229
+ Assert . AreEqual ( 8 , results . Count ) ;
230
+ Assert . AreEqual ( 2 , results . Count ( x => x . ContentTypeId == 2 ) ) ;
231
+ Assert . False ( results . Any ( x => x . VersionId == 9 ) ) ;
218
232
} ) ;
219
233
}
220
234
0 commit comments