11module . exports = function testAdapter ( options ) {
22 describe ( 'micro-analytics adapter ' + options . name , ( ) => {
3- const adapter = require ( options . modulePath ) ;
3+ const adapter = require ( options . modulePath )
44
55 if ( typeof options . beforeEach === 'function' ) {
6- beforeEach ( async ( ) => { await options . beforeEach ( adapter ) ; } ) ;
6+ beforeEach ( async ( ) => {
7+ await options . beforeEach ( adapter )
8+ } )
79 }
810
911 if ( typeof options . afterEach === 'function' ) {
10- afterEach ( async ( ) => { await options . afterEach ( adapter ) ; } ) ;
12+ afterEach ( async ( ) => {
13+ await options . afterEach ( adapter )
14+ } )
1115 }
1216
1317 if ( typeof options . beforeAll === 'function' ) {
14- beforeAll ( async ( ) => { await options . beforeAll ( adapter ) ; } ) ;
18+ beforeAll ( async ( ) => {
19+ await options . beforeAll ( adapter )
20+ } )
1521 }
1622
1723 if ( typeof options . afterAll === 'function' ) {
1824 afterAll ( async ( ) => {
19- await options . afterAll ( adapter ) ;
25+ await options . afterAll ( adapter )
2026 if ( typeof adapter . close === 'function' ) {
21- await adapter . close ( ) ;
27+ await adapter . close ( )
2228 }
23- } ) ;
29+ } )
2430 }
2531
2632 test ( 'get() should return a promise' , ( ) => {
27- expect ( adapter . get ( '/a-key' ) . constructor . name ) . toEqual ( " Promise" )
33+ expect ( adapter . get ( '/a-key' ) . constructor . name ) . toEqual ( ' Promise' )
2834 } )
2935
3036 test ( 'getAll() should return a promise' , ( ) => {
31- expect ( adapter . getAll ( { pathname : '/' } ) . constructor . name ) . toEqual ( "Promise" )
37+ expect ( adapter . getAll ( { pathname : '/' } ) . constructor . name ) . toEqual (
38+ 'Promise'
39+ )
3240 } )
3341
3442 test ( 'has() should return a promise' , ( ) => {
35- expect ( adapter . has ( '/a-key' ) . constructor . name ) . toEqual ( " Promise" )
43+ expect ( adapter . has ( '/a-key' ) . constructor . name ) . toEqual ( ' Promise' )
3644 } )
3745
3846 test ( 'keys() should return a promise' , ( ) => {
39- expect ( adapter . keys ( ) . constructor . name ) . toEqual ( " Promise" )
47+ expect ( adapter . keys ( ) . constructor . name ) . toEqual ( ' Promise' )
4048 } )
4149
4250 test ( 'put() should return a promise' , ( ) => {
43- expect ( adapter . put ( '/a-key' , { } ) . constructor . name ) . toEqual ( " Promise" )
51+ expect ( adapter . put ( '/a-key' , { } ) . constructor . name ) . toEqual ( ' Promise' )
4452 } )
4553
46- if ( typeof adapter . options !== " undefined" ) {
54+ if ( typeof adapter . options !== ' undefined' ) {
4755 test ( 'options should be an array of args options' , ( ) => {
4856 expect ( Array . isArray ( adapter . options ) ) . toBe ( true )
4957 if ( adapter . options . length >= 0 ) {
@@ -60,16 +68,16 @@ module.exports = function testAdapter(options) {
6068 } )
6169
6270 test ( 'init should be a defined when options is defined' , ( ) => {
63- expect ( typeof adapter . init ) . not . toBe ( " undefined" ) ;
71+ expect ( typeof adapter . init ) . not . toBe ( ' undefined' )
6472 } )
6573 } else {
6674 test . skip ( 'options should be an array of args options' , ( ) => { } )
6775 test . skip ( 'init should be a defined when options is defined' , ( ) => { } )
6876 }
6977
70- if ( typeof adapter . init !== " undefined" ) {
78+ if ( typeof adapter . init !== ' undefined' ) {
7179 test ( 'init should be a function' , ( ) => {
72- expect ( typeof adapter . init ) . toBe ( " function" ) ;
80+ expect ( typeof adapter . init ) . toBe ( ' function' )
7381 } )
7482
7583 test ( 'call init should not throw' , ( ) => {
@@ -81,132 +89,139 @@ module.exports = function testAdapter(options) {
8189 }
8290
8391 it ( 'should save and read' , async ( ) => {
84- await adapter . put ( '/a-key' , { views : [ { time : 1490623474639 } ] } ) ;
92+ await adapter . put ( '/a-key' , { views : [ { time : 1490623474639 } ] } )
8593
8694 expect ( await adapter . get ( '/a-key' ) ) . toEqual ( {
87- views : [ { time : 1490623474639 } ] ,
88- } ) ;
89- } ) ;
95+ views : [ { time : 1490623474639 } ]
96+ } )
97+ } )
9098
9199 it ( 'should return empty list of views when key has no views' , async ( ) => {
92- expect ( await adapter . get ( '/c-key' ) ) . toEqual ( { views : [ ] } ) ;
93- } ) ;
100+ expect ( await adapter . get ( '/c-key' ) ) . toEqual ( { views : [ ] } )
101+ } )
94102
95103 it ( 'should return all saves on getAll' , async ( ) => {
96- await adapter . put ( '/a-key' , { views : [ { time : 1490623474639 } ] } ) ;
97- await adapter . put ( '/another-key' , { views : [ { time : 1490623474639 } ] } ) ;
104+ await adapter . put ( '/a-key' , { views : [ { time : 1490623474639 } ] } )
105+ await adapter . put ( '/another-key' , { views : [ { time : 1490623474639 } ] } )
98106
99107 expect ( await adapter . getAll ( { pathname : '/' } ) ) . toEqual ( {
100108 '/a-key' : { views : [ { time : 1490623474639 } ] } ,
101- '/another-key' : { views : [ { time : 1490623474639 } ] } ,
102- } ) ;
103- } ) ;
109+ '/another-key' : { views : [ { time : 1490623474639 } ] }
110+ } )
111+ } )
104112
105113 it ( 'should return filtered saves from getAll based on pathname' , async ( ) => {
106- await adapter . put ( '/a-key' , { views : [ { time : 1490623474639 } ] } ) ;
107- await adapter . put ( '/another-key' , { views : [ { time : 1490623474639 } ] } ) ;
108- await adapter . put ( '/b-key' , { views : [ { time : 1490623474639 } ] } ) ;
114+ await adapter . put ( '/a-key' , { views : [ { time : 1490623474639 } ] } )
115+ await adapter . put ( '/another-key' , { views : [ { time : 1490623474639 } ] } )
116+ await adapter . put ( '/b-key' , { views : [ { time : 1490623474639 } ] } )
109117
110118 expect ( await adapter . getAll ( { pathname : '/a' } ) ) . toEqual ( {
111119 '/a-key' : { views : [ { time : 1490623474639 } ] } ,
112- '/another-key' : { views : [ { time : 1490623474639 } ] } ,
113- } ) ;
114- } ) ;
120+ '/another-key' : { views : [ { time : 1490623474639 } ] }
121+ } )
122+ } )
115123
116124 it ( 'should return filtered saves from getAll based on before' , async ( ) => {
117- await adapter . put ( '/a-key' , { views : [ { time : 1490623474639 } ] } ) ;
118- await adapter . put ( '/another-key' , { views : [ { time : 1490623478639 } ] } ) ;
119- await adapter . put ( '/b-key' , { views : [ { time : 1490623484639 } ] } ) ;
125+ await adapter . put ( '/a-key' , { views : [ { time : 1490623474639 } ] } )
126+ await adapter . put ( '/another-key' , { views : [ { time : 1490623478639 } ] } )
127+ await adapter . put ( '/b-key' , { views : [ { time : 1490623484639 } ] } )
120128
121- expect ( await adapter . getAll ( { pathname : '/' , before : 1490623478640 } ) ) . toEqual ( {
129+ expect (
130+ await adapter . getAll ( { pathname : '/' , before : 1490623478640 } )
131+ ) . toEqual ( {
122132 '/a-key' : { views : [ { time : 1490623474639 } ] } ,
123133 '/another-key' : { views : [ { time : 1490623478639 } ] } ,
124- '/b-key' : { views : [ ] } ,
125- } ) ;
126- } ) ;
134+ '/b-key' : { views : [ ] }
135+ } )
136+ } )
127137
128138 it ( 'should return filtered saves from getAll based on after' , async ( ) => {
129- await adapter . put ( '/a-key' , { views : [ { time : 1490623474639 } ] } ) ;
130- await adapter . put ( '/another-key' , { views : [ { time : 1490623478639 } ] } ) ;
131- await adapter . put ( '/b-key' , { views : [ { time : 1490623484639 } ] } ) ;
139+ await adapter . put ( '/a-key' , { views : [ { time : 1490623474639 } ] } )
140+ await adapter . put ( '/another-key' , { views : [ { time : 1490623478639 } ] } )
141+ await adapter . put ( '/b-key' , { views : [ { time : 1490623484639 } ] } )
132142
133- expect ( await adapter . getAll ( { pathname : '/' , after : 1490623478638 } ) ) . toEqual ( {
143+ expect (
144+ await adapter . getAll ( { pathname : '/' , after : 1490623478638 } )
145+ ) . toEqual ( {
134146 '/a-key' : { views : [ ] } ,
135147 '/another-key' : { views : [ { time : 1490623478639 } ] } ,
136- '/b-key' : { views : [ { time : 1490623484639 } ] } ,
137- } ) ;
138- } ) ;
148+ '/b-key' : { views : [ { time : 1490623484639 } ] }
149+ } )
150+ } )
139151
140152 it ( 'should return filtered saves from get based on before' , async ( ) => {
141153 await adapter . put ( '/a-key' , {
142154 views : [ { time : 1490623474639 } , { time : 1490623478639 } ]
143- } ) ;
155+ } )
144156
145157 expect ( await adapter . get ( '/a-key' , { before : 1490623475640 } ) ) . toEqual ( {
146- views : [ { time : 1490623474639 } ] ,
147- } ) ;
148- } ) ;
158+ views : [ { time : 1490623474639 } ]
159+ } )
160+ } )
149161
150162 it ( 'should return filtered saves from get based on after' , async ( ) => {
151163 await adapter . put ( '/a-key' , {
152164 views : [ { time : 1490623474639 } , { time : 1490623478639 } ]
153- } ) ;
165+ } )
154166
155167 expect ( await adapter . get ( '/a-key' , { after : 1490623475640 } ) ) . toEqual ( {
156- views : [ { time : 1490623478639 } ] ,
157- } ) ;
158- } ) ;
168+ views : [ { time : 1490623478639 } ]
169+ } )
170+ } )
159171
160172 it ( 'should have check whether a key is stored with has' , async ( ) => {
161- await adapter . put ( '/a-key' , { views : [ { time : 1490623474639 } ] } ) ;
173+ await adapter . put ( '/a-key' , { views : [ { time : 1490623474639 } ] } )
162174
163- expect ( await adapter . has ( '/a-key' ) ) . toEqual ( true ) ;
164- expect ( await adapter . has ( '/non-existing-key' ) ) . toEqual ( false ) ;
165- } ) ;
175+ expect ( await adapter . has ( '/a-key' ) ) . toEqual ( true )
176+ expect ( await adapter . has ( '/non-existing-key' ) ) . toEqual ( false )
177+ } )
166178
167- if ( typeof adapter . subscribe === " function" ) {
179+ if ( typeof adapter . subscribe === ' function' ) {
168180 it ( 'should allow subscription with observables' , async ( ) => {
169- const listener = jest . fn ( ) ;
170- const unsubscribe = adapter . subscribe ( listener ) ;
181+ const listener = jest . fn ( )
182+ const unsubscribe = adapter . subscribe ( listener )
171183
172- await adapter . put ( '/a-key' , { views : [ { time : 1490623474639 } ] } ) ;
184+ await adapter . put ( '/a-key' , { views : [ { time : 1490623474639 } ] } )
173185
174186 expect ( listener ) . toHaveBeenCalledWith ( {
175187 key : '/a-key' ,
176- value : { views : [ { time : 1490623474639 } ] } ,
177- } ) ;
178- } ) ;
188+ value : { views : [ { time : 1490623474639 } ] }
189+ } )
190+ } )
179191
180192 it ( 'should allow multiple subscription with observables and handle unsubscribption' , async ( ) => {
181- const listener1 = jest . fn ( ) ;
182- const listener2 = jest . fn ( ) ;
183- const subscription = adapter . subscribe ( listener1 ) ;
184- adapter . subscribe ( listener2 ) ;
193+ const listener1 = jest . fn ( )
194+ const listener2 = jest . fn ( )
195+ const subscription = adapter . subscribe ( listener1 )
196+ adapter . subscribe ( listener2 )
185197
186- await adapter . put ( '/a-key' , { views : [ { time : 1490623474639 } ] } ) ;
187- subscription . unsubscribe ( ) ;
188- await adapter . put ( '/b-key' , { views : [ { time : 1490623474639 } ] } ) ;
198+ await adapter . put ( '/a-key' , { views : [ { time : 1490623474639 } ] } )
199+ subscription . unsubscribe ( )
200+ await adapter . put ( '/b-key' , { views : [ { time : 1490623474639 } ] } )
189201
190202 expect ( listener1 ) . toHaveBeenCalledWith ( {
191203 key : '/a-key' ,
192- value : { views : [ { time : 1490623474639 } ] } ,
193- } ) ;
204+ value : { views : [ { time : 1490623474639 } ] }
205+ } )
194206 expect ( listener1 ) . not . toHaveBeenCalledWith ( {
195207 key : '/b-key' ,
196- value : { views : [ { time : 1490623474639 } ] } ,
197- } ) ;
208+ value : { views : [ { time : 1490623474639 } ] }
209+ } )
198210 expect ( listener2 ) . toHaveBeenCalledWith ( {
199211 key : '/a-key' ,
200- value : { views : [ { time : 1490623474639 } ] } ,
201- } ) ;
212+ value : { views : [ { time : 1490623474639 } ] }
213+ } )
202214 expect ( listener2 ) . toHaveBeenCalledWith ( {
203215 key : '/b-key' ,
204- value : { views : [ { time : 1490623474639 } ] } ,
205- } ) ;
206- } ) ;
216+ value : { views : [ { time : 1490623474639 } ] }
217+ } )
218+ } )
207219 } else {
208220 it . skip ( 'should allow subscription with observables' , ( ) => { } )
209- it . skip ( 'should allow multiple subscription with observables and handle unsubscribption' , ( ) => { } )
221+ it . skip (
222+ 'should allow multiple subscription with observables and handle unsubscribption' ,
223+ ( ) => { }
224+ )
210225 }
211- } ) ;
212- } ;
226+ } )
227+ }
0 commit comments