@@ -21,7 +21,7 @@ describe('SyncBackoffService', () => {
21
21
it ( 'should be in backoff if backoff was set' , ( ) => {
22
22
const service = createService ( )
23
23
24
- service . backoffItem ( Uuid . create ( '00000000-0000-0000-0000-000000000000' ) . getValue ( ) )
24
+ service . backoffItems ( [ Uuid . create ( '00000000-0000-0000-0000-000000000000' ) . getValue ( ) ] )
25
25
26
26
expect ( service . isItemInBackoff ( { uuid : '00000000-0000-0000-0000-000000000000' } as jest . Mocked < AnyItemInterface > ) ) . toBe ( true )
27
27
} )
@@ -31,7 +31,7 @@ describe('SyncBackoffService', () => {
31
31
32
32
jest . spyOn ( Date , 'now' ) . mockReturnValueOnce ( 1_000_000 )
33
33
34
- service . backoffItem ( Uuid . create ( '00000000-0000-0000-0000-000000000000' ) . getValue ( ) )
34
+ service . backoffItems ( [ Uuid . create ( '00000000-0000-0000-0000-000000000000' ) . getValue ( ) ] )
35
35
36
36
jest . spyOn ( Date , 'now' ) . mockReturnValueOnce ( 2_000_000 )
37
37
@@ -43,19 +43,19 @@ describe('SyncBackoffService', () => {
43
43
44
44
jest . spyOn ( Date , 'now' ) . mockReturnValueOnce ( 1_000_000 )
45
45
46
- service . backoffItem ( Uuid . create ( '00000000-0000-0000-0000-000000000000' ) . getValue ( ) )
46
+ service . backoffItems ( [ Uuid . create ( '00000000-0000-0000-0000-000000000000' ) . getValue ( ) ] )
47
47
48
48
jest . spyOn ( Date , 'now' ) . mockReturnValueOnce ( 1_000_000 )
49
49
expect ( service . isItemInBackoff ( { uuid : '00000000-0000-0000-0000-000000000000' } as jest . Mocked < AnyItemInterface > ) ) . toBe ( true )
50
50
51
51
jest . spyOn ( Date , 'now' ) . mockReturnValueOnce ( 1_000_000 )
52
- service . backoffItem ( Uuid . create ( '00000000-0000-0000-0000-000000000000' ) . getValue ( ) )
52
+ service . backoffItems ( [ Uuid . create ( '00000000-0000-0000-0000-000000000000' ) . getValue ( ) ] )
53
53
54
54
jest . spyOn ( Date , 'now' ) . mockReturnValueOnce ( 1_001_000 )
55
55
expect ( service . isItemInBackoff ( { uuid : '00000000-0000-0000-0000-000000000000' } as jest . Mocked < AnyItemInterface > ) ) . toBe ( true )
56
56
57
57
jest . spyOn ( Date , 'now' ) . mockReturnValueOnce ( 1_000_000 )
58
- service . backoffItem ( Uuid . create ( '00000000-0000-0000-0000-000000000000' ) . getValue ( ) )
58
+ service . backoffItems ( [ Uuid . create ( '00000000-0000-0000-0000-000000000000' ) . getValue ( ) ] )
59
59
60
60
jest . spyOn ( Date , 'now' ) . mockReturnValueOnce ( 1_003_000 )
61
61
expect ( service . isItemInBackoff ( { uuid : '00000000-0000-0000-0000-000000000000' } as jest . Mocked < AnyItemInterface > ) ) . toBe ( true )
@@ -66,7 +66,7 @@ describe('SyncBackoffService', () => {
66
66
67
67
jest . spyOn ( Date , 'now' ) . mockReturnValueOnce ( 1_000_000 )
68
68
69
- service . backoffItem ( Uuid . create ( '00000000-0000-0000-0000-000000000000' ) . getValue ( ) )
69
+ service . backoffItems ( [ Uuid . create ( '00000000-0000-0000-0000-000000000000' ) . getValue ( ) ] )
70
70
71
71
jest . spyOn ( Date , 'now' ) . mockReturnValueOnce ( 1_000_000 )
72
72
expect ( service . isItemInBackoff ( { uuid : '00000000-0000-0000-0000-000000000000' } as jest . Mocked < AnyItemInterface > ) ) . toBe ( true )
@@ -85,31 +85,25 @@ describe('SyncBackoffService', () => {
85
85
expect ( service . isItemInBackoff ( { uuid : '00000000-0000-0000-0000-000000000000' } as jest . Mocked < AnyItemInterface > ) ) . toBe ( false )
86
86
} )
87
87
88
- it ( 'should get a smaller subset of item uuids in backoff that have lesser penalty ' , ( ) => {
88
+ it ( 'should get a smaller and smaller subset of item uuids to back off until single uuids are ruled out ' , ( ) => {
89
89
const service = createService ( )
90
90
91
- jest . spyOn ( Date , 'now' ) . mockReturnValueOnce ( 1_000_000 )
91
+ jest . spyOn ( Date , 'now' ) . mockReturnValue ( 1_000_000 )
92
92
93
- for ( let i = 0 ; i < 5 ; i ++ ) {
94
- service . backoffItem ( Uuid . create ( '00000000-0000-0000-0000-000000000000' ) . getValue ( ) )
95
- }
96
- for ( let i = 0 ; i < 4 ; i ++ ) {
97
- service . backoffItem ( Uuid . create ( '00000000-0000-0000-0000-000000000001' ) . getValue ( ) )
98
- }
99
- for ( let i = 0 ; i < 3 ; i ++ ) {
100
- service . backoffItem ( Uuid . create ( '00000000-0000-0000-0000-000000000002' ) . getValue ( ) )
101
- }
102
- for ( let i = 0 ; i < 2 ; i ++ ) {
103
- service . backoffItem ( Uuid . create ( '00000000-0000-0000-0000-000000000003' ) . getValue ( ) )
104
- }
105
- service . backoffItem ( Uuid . create ( '00000000-0000-0000-0000-000000000004' ) . getValue ( ) )
106
-
107
- const subset = service . getSmallerSubsetOfItemUuidsInBackoff ( )
93
+ service . backoffItems ( [
94
+ Uuid . create ( '00000000-0000-0000-0000-000000000000' ) . getValue ( ) ,
95
+ Uuid . create ( '00000000-0000-0000-0000-000000000001' ) . getValue ( ) ,
96
+ Uuid . create ( '00000000-0000-0000-0000-000000000002' ) . getValue ( ) ,
97
+ Uuid . create ( '00000000-0000-0000-0000-000000000003' ) . getValue ( ) ,
98
+ Uuid . create ( '00000000-0000-0000-0000-000000000004' ) . getValue ( ) ,
99
+ ] )
108
100
109
- expect ( subset . length ) . toEqual ( 3 )
101
+ const expectedSubsetLenghts = [ 3 , 3 , 3 , 3 , 2 , 1 , 1 , 1 , 1 , 1 , 0 ]
102
+ for ( let i = 0 ; i < expectedSubsetLenghts . length ; i ++ ) {
103
+ const subset = service . getSmallerSubsetOfItemUuidsInBackoff ( )
104
+ service . backoffItems ( subset )
110
105
111
- expect ( subset [ 0 ] . value ) . toBe ( '00000000-0000-0000-0000-000000000004' )
112
- expect ( subset [ 1 ] . value ) . toBe ( '00000000-0000-0000-0000-000000000003' )
113
- expect ( subset [ 2 ] . value ) . toBe ( '00000000-0000-0000-0000-000000000002' )
106
+ expect ( subset . length ) . toBe ( expectedSubsetLenghts [ i ] )
107
+ }
114
108
} )
115
109
} )
0 commit comments