@@ -32,10 +32,6 @@ describe('redis', function() {
32
32
} ,
33
33
set : function ( key , value ) {
34
34
fileUploaded = true ;
35
- } ,
36
- zadd : function ( key , score , tag ) {
37
- } ,
38
- zremrangebyrank : function ( ) {
39
35
}
40
36
} ) ) ) ;
41
37
@@ -54,10 +50,6 @@ describe('redis', function() {
54
50
} , new FakeRedis ( FakeClient . extend ( {
55
51
set : function ( key , value ) {
56
52
fileUploaded = true ;
57
- } ,
58
- zadd : function ( key , score , tag ) {
59
- } ,
60
- zremrangebyrank : function ( ) {
61
53
}
62
54
} ) ) ) ;
63
55
@@ -77,8 +69,6 @@ describe('redis', function() {
77
69
} ,
78
70
zadd : function ( key , score , tag ) {
79
71
recentUploads . push ( key + tag ) ;
80
- } ,
81
- zremrangebyrank : function ( ) {
82
72
}
83
73
} ) ) ) ;
84
74
@@ -90,25 +80,71 @@ describe('redis', function() {
90
80
} ) ;
91
81
} ) ;
92
82
93
- it ( 'trims the list of recent uploads' , function ( ) {
94
- var recentUploads = [ 'a' , 'b' , 'c' ] ;
83
+ it ( 'trims the list of recent uploads and removes the index key' , function ( ) {
84
+ var recentUploads = [ '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , '10' , '11' ] ;
85
+ var finalUploads = [ '3' , '4' , '5' , '6' , '7' , '8' , '9' , '10' , '11' , '12' ] ;
95
86
96
87
var redis = new Redis ( { } , new FakeRedis ( FakeClient . extend ( {
97
88
get : function ( key ) {
98
89
return Promise . resolve ( null ) ;
99
90
} ,
100
- zadd : function ( key , tag ) {
101
- recentUploads . push ( key + tag ) ;
91
+ set : function ( key , value ) {
92
+ } ,
93
+ zadd : function ( key , score , revisionKey ) {
94
+ recentUploads . push ( revisionKey ) ;
102
95
} ,
103
- zremrangebyrank : function ( ) {
104
- recentUploads . pop ( ) ;
96
+ zrem : function ( val , revision ) {
97
+ var i = recentUploads . indexOf ( revision )
98
+ recentUploads . splice ( i , 1 ) ;
99
+ } ,
100
+ zrange : function ( ) {
101
+ return recentUploads . slice ( 0 , 2 ) ;
102
+ } ,
103
+ del : function ( key ) {
104
+ assert ( key === 'key:1' || key === 'key:2' ) ;
105
105
}
106
106
} ) ) ) ;
107
107
108
- var promise = redis . upload ( 'key' , 'value' ) ;
108
+ var promise = redis . upload ( 'key' , '12' , 'value' ) ;
109
+ return assert . isFulfilled ( promise )
110
+ . then ( function ( ) {
111
+ assert . equal ( recentUploads . length , 10 ) ;
112
+ assert . deepEqual ( recentUploads , finalUploads ) ;
113
+ } ) ;
114
+ } ) ;
115
+
116
+ it ( 'trims the list of recent uploads but leaves the active one' , function ( ) {
117
+ var recentUploads = [ '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , '10' , '11' ] ;
118
+ var finalUploads = [ '1' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , '10' , '11' , '12' ] ;
119
+
120
+ var redis = new Redis ( { } , new FakeRedis ( FakeClient . extend ( {
121
+ get : function ( key ) {
122
+ if ( key == 'key:current' ) {
123
+ return Promise . resolve ( '1' ) ;
124
+ }
125
+ return Promise . resolve ( null ) ;
126
+ } ,
127
+ set : function ( key , value ) {
128
+ } ,
129
+ zadd : function ( key , score , revisionKey ) {
130
+ recentUploads . push ( revisionKey ) ;
131
+ } ,
132
+ zrem : function ( val , revision ) {
133
+ var i = recentUploads . indexOf ( revision )
134
+ recentUploads . splice ( i , 1 ) ;
135
+ } ,
136
+ zrange : function ( ) {
137
+ return recentUploads . slice ( 0 , 2 ) ;
138
+ } ,
139
+ del : function ( key ) {
140
+ }
141
+ } ) ) ) ;
142
+
143
+ var promise = redis . upload ( 'key' , '12' , 'value' ) ;
109
144
return assert . isFulfilled ( promise )
110
145
. then ( function ( ) {
111
- assert . equal ( recentUploads . length , 3 ) ;
146
+ assert . equal ( recentUploads . length , 11 ) ;
147
+ assert . deepEqual ( recentUploads , finalUploads ) ;
112
148
} ) ;
113
149
} ) ;
114
150
@@ -196,8 +232,6 @@ describe('redis', function() {
196
232
var redis = new Redis ( { } , new FakeRedis ( FakeClient . extend ( {
197
233
zrevrange : function ( ) {
198
234
return recentRevisions ;
199
- } ,
200
- get : function ( ) {
201
235
}
202
236
} ) ) ) ;
203
237
0 commit comments