@@ -14,31 +14,47 @@ async function readChangelog(contentPath) {
1414}
1515
1616describe ( 'Mintlify changelog parsing' , ( ) => {
17- test ( 'parses real merged SDK changelog files' , async ( ) => {
17+ test ( 'parses real merged release changelog files' , async ( ) => {
1818 const cases = [
1919 {
2020 contentPath : 'content/2026/04-01-box-java-sdk-v1070-released.md' ,
21+ appliedAt : '2026-04-01' ,
2122 repoDisplayName : 'Box Java SDK' ,
2223 version : 'v10.7.0' ,
23- labels : [ 'sdks' , 'java' ]
24+ labels : [ 'sdks' , 'java' ] ,
25+ isMintlifySyncEligible : true
2426 } ,
2527 {
2628 contentPath : 'content/2026/04-01-box-java-sdk-v560-released.md' ,
29+ appliedAt : '2026-04-01' ,
2730 repoDisplayName : 'Box Java SDK' ,
2831 version : 'v5.6.0' ,
29- labels : [ 'sdks' , 'java' ]
32+ labels : [ 'sdks' , 'java' ] ,
33+ isMintlifySyncEligible : true
3034 } ,
3135 {
3236 contentPath : 'content/2026/04-01-box-ios-sdk-1060-released.md' ,
37+ appliedAt : '2026-04-01' ,
3338 repoDisplayName : 'Box iOS SDK' ,
3439 version : '10.6.0' ,
35- labels : [ 'sdks' , 'swift' ]
40+ labels : [ 'sdks' , 'swift' ] ,
41+ isMintlifySyncEligible : true
3642 } ,
3743 {
3844 contentPath : 'content/2026/04-01-box-windows-sdk-v1080-released.md' ,
45+ appliedAt : '2026-04-01' ,
3946 repoDisplayName : 'Box Windows SDK' ,
4047 version : 'v10.8.0' ,
41- labels : [ 'sdks' , 'dotnet' ]
48+ labels : [ 'sdks' , 'dotnet' ] ,
49+ isMintlifySyncEligible : true
50+ } ,
51+ {
52+ contentPath : 'content/2026/01-05-box-ui-elements-v2600-released.md' ,
53+ appliedAt : '2026-01-05' ,
54+ repoDisplayName : 'Box UI Elements' ,
55+ version : 'v26.0.0' ,
56+ labels : [ 'frontend' , 'ui-elements' ] ,
57+ isMintlifySyncEligible : true
4258 }
4359 ]
4460
@@ -49,27 +65,29 @@ describe('Mintlify changelog parsing', () => {
4965 contentPath : testCase . contentPath
5066 } )
5167
52- expect ( entry . isSdkRelease ) . toBeTruthy ( )
53- expect ( entry . appliedAt ) . toBe ( '2026-04-01' )
68+ expect ( entry . isMintlifySyncEligible ) . toBe ( testCase . isMintlifySyncEligible )
69+ expect ( entry . appliedAt ) . toBe ( testCase . appliedAt )
5470 expect ( entry . repoDisplayName ) . toBe ( testCase . repoDisplayName )
5571 expect ( entry . version ) . toBe ( testCase . version )
5672 expect ( entry . labels ) . toEqual ( testCase . labels )
5773 expect ( entry . releaseSourceUrl ) . toContain ( '/releases/tag/' )
58- expect ( entry . body . startsWith ( '###' ) ) . toBeTruthy ( )
74+ expect ( entry . body ) . toContain ( '###' )
5975 }
6076 } )
6177
62- test ( 'skips non-SDK changelog posts even when they are in the candidate list ' , async ( ) => {
78+ test ( 'loads eligible release entries and skips non-release posts ' , async ( ) => {
6379 const entries = await loadEligibleChangelogEntries ( {
6480 repoPath : REPO_ROOT ,
6581 contentPaths : [
82+ 'content/2026/01-05-box-ui-elements-v2600-released.md' ,
6683 'content/2026/04-01-box-java-sdk-v1070-released.md' ,
6784 'content/2026/04-02-new-ai-models.md' ,
6885 'content/2026/04-01-box-ios-sdk-1060-released.md'
6986 ]
7087 } )
7188
7289 expect ( entries . map ( ( entry ) => entry . contentPath ) ) . toEqual ( [
90+ 'content/2026/01-05-box-ui-elements-v2600-released.md' ,
7391 'content/2026/04-01-box-ios-sdk-1060-released.md' ,
7492 'content/2026/04-01-box-java-sdk-v1070-released.md'
7593 ] )
0 commit comments