@@ -11,71 +11,107 @@ const defaultConfig = {
1111describe ( 'calculateAdaptiveSyncInterval' , ( ) => {
1212 it ( 'returns baseInterval when no errors, no idle' , ( ) => {
1313 const result = calculateAdaptiveSyncInterval (
14- { lastSyncChanges : 5 , consecutiveEmptySyncs : 0 , consecutiveSyncErrors : 0 } ,
14+ {
15+ lastSyncChanges : 5 ,
16+ consecutiveEmptySyncs : 0 ,
17+ consecutiveSyncErrors : 0 ,
18+ } ,
1519 defaultConfig
1620 ) ;
1721 expect ( result ) . toBe ( 5000 ) ;
1822 } ) ;
1923
2024 it ( 'returns baseInterval when below emptyThreshold' , ( ) => {
2125 const result = calculateAdaptiveSyncInterval (
22- { lastSyncChanges : 0 , consecutiveEmptySyncs : 4 , consecutiveSyncErrors : 0 } ,
26+ {
27+ lastSyncChanges : 0 ,
28+ consecutiveEmptySyncs : 4 ,
29+ consecutiveSyncErrors : 0 ,
30+ } ,
2331 defaultConfig
2432 ) ;
2533 expect ( result ) . toBe ( 5000 ) ;
2634 } ) ;
2735
2836 it ( 'applies idle backoff at exactly emptyThreshold' , ( ) => {
2937 const result = calculateAdaptiveSyncInterval (
30- { lastSyncChanges : 0 , consecutiveEmptySyncs : 5 , consecutiveSyncErrors : 0 } ,
38+ {
39+ lastSyncChanges : 0 ,
40+ consecutiveEmptySyncs : 5 ,
41+ consecutiveSyncErrors : 0 ,
42+ } ,
3143 defaultConfig
3244 ) ;
3345 expect ( result ) . toBe ( 7500 ) ;
3446 } ) ;
3547
3648 it ( 'increases idle backoff with consecutive empty syncs' , ( ) => {
3749 const result = calculateAdaptiveSyncInterval (
38- { lastSyncChanges : 0 , consecutiveEmptySyncs : 7 , consecutiveSyncErrors : 0 } ,
50+ {
51+ lastSyncChanges : 0 ,
52+ consecutiveEmptySyncs : 7 ,
53+ consecutiveSyncErrors : 0 ,
54+ } ,
3955 defaultConfig
4056 ) ;
4157 expect ( result ) . toBe ( 5000 * Math . pow ( 1.5 , 3 ) ) ;
4258 } ) ;
4359
4460 it ( 'caps idle backoff at maxInterval' , ( ) => {
4561 const result = calculateAdaptiveSyncInterval (
46- { lastSyncChanges : 0 , consecutiveEmptySyncs : 100 , consecutiveSyncErrors : 0 } ,
62+ {
63+ lastSyncChanges : 0 ,
64+ consecutiveEmptySyncs : 100 ,
65+ consecutiveSyncErrors : 0 ,
66+ } ,
4767 defaultConfig
4868 ) ;
4969 expect ( result ) . toBe ( 300000 ) ;
5070 } ) ;
5171
5272 it ( 'applies error backoff exponentially' , ( ) => {
5373 const result = calculateAdaptiveSyncInterval (
54- { lastSyncChanges : 0 , consecutiveEmptySyncs : 0 , consecutiveSyncErrors : 3 } ,
74+ {
75+ lastSyncChanges : 0 ,
76+ consecutiveEmptySyncs : 0 ,
77+ consecutiveSyncErrors : 3 ,
78+ } ,
5579 defaultConfig
5680 ) ;
5781 expect ( result ) . toBe ( 40000 ) ;
5882 } ) ;
5983
6084 it ( 'caps error backoff at maxInterval' , ( ) => {
6185 const result = calculateAdaptiveSyncInterval (
62- { lastSyncChanges : 0 , consecutiveEmptySyncs : 0 , consecutiveSyncErrors : 100 } ,
86+ {
87+ lastSyncChanges : 0 ,
88+ consecutiveEmptySyncs : 0 ,
89+ consecutiveSyncErrors : 100 ,
90+ } ,
6391 defaultConfig
6492 ) ;
6593 expect ( result ) . toBe ( 300000 ) ;
6694 } ) ;
6795
6896 it ( 'gives error priority over idle backoff' , ( ) => {
6997 const result = calculateAdaptiveSyncInterval (
70- { lastSyncChanges : 0 , consecutiveEmptySyncs : 10 , consecutiveSyncErrors : 2 } ,
98+ {
99+ lastSyncChanges : 0 ,
100+ consecutiveEmptySyncs : 10 ,
101+ consecutiveSyncErrors : 2 ,
102+ } ,
71103 defaultConfig
72104 ) ;
73105 expect ( result ) . toBe ( 5000 * Math . pow ( 2.0 , 2 ) ) ;
74106 } ) ;
75107
76108 it ( 'handles single error' , ( ) => {
77109 const result = calculateAdaptiveSyncInterval (
78- { lastSyncChanges : 0 , consecutiveEmptySyncs : 0 , consecutiveSyncErrors : 1 } ,
110+ {
111+ lastSyncChanges : 0 ,
112+ consecutiveEmptySyncs : 0 ,
113+ consecutiveSyncErrors : 1 ,
114+ } ,
79115 defaultConfig
80116 ) ;
81117 expect ( result ) . toBe ( 10000 ) ;
@@ -90,7 +126,11 @@ describe('calculateAdaptiveSyncInterval', () => {
90126 errorBackoffMultiplier : 3 ,
91127 } ;
92128 const result = calculateAdaptiveSyncInterval (
93- { lastSyncChanges : 0 , consecutiveEmptySyncs : 3 , consecutiveSyncErrors : 0 } ,
129+ {
130+ lastSyncChanges : 0 ,
131+ consecutiveEmptySyncs : 3 ,
132+ consecutiveSyncErrors : 0 ,
133+ } ,
94134 config
95135 ) ;
96136 expect ( result ) . toBe ( 1000 * Math . pow ( 2 , 2 ) ) ;
0 commit comments