@@ -36,6 +36,11 @@ const fakeSettingsWithListener = {
3636} ;
3737const fakeWhenInit = ( cb : ( ) => void ) => cb ( ) ;
3838
39+ // @TODO validate logic with `impression.track` false
40+ const fakeNoneStrategy = {
41+ process : jest . fn ( ( ) => false )
42+ } ;
43+
3944/* Tests */
4045
4146describe ( 'Impressions Tracker' , ( ) => {
@@ -51,12 +56,12 @@ describe('Impressions Tracker', () => {
5156 test ( 'Tracker API' , ( ) => {
5257 expect ( typeof impressionsTrackerFactory ) . toBe ( 'function' ) ; // The module should return a function which acts as a factory.
5358
54- const instance = impressionsTrackerFactory ( fakeSettings , fakeImpressionsCache , strategy , fakeWhenInit ) ;
59+ const instance = impressionsTrackerFactory ( fakeSettings , fakeImpressionsCache , fakeNoneStrategy , strategy , fakeWhenInit ) ;
5560 expect ( typeof instance . track ) . toBe ( 'function' ) ; // The instance should implement the track method which will actually track queued impressions.
5661 } ) ;
5762
5863 test ( 'Should be able to track impressions (in DEBUG mode without Previous Time).' , ( ) => {
59- const tracker = impressionsTrackerFactory ( fakeSettings , fakeImpressionsCache , strategy , fakeWhenInit ) ;
64+ const tracker = impressionsTrackerFactory ( fakeSettings , fakeImpressionsCache , fakeNoneStrategy , strategy , fakeWhenInit ) ;
6065
6166 const imp1 = {
6267 feature : '10' ,
@@ -76,7 +81,7 @@ describe('Impressions Tracker', () => {
7681 } ) ;
7782
7883 test ( 'Tracked impressions should be sent to impression listener and integration manager when we invoke .track()' , ( done ) => {
79- const tracker = impressionsTrackerFactory ( fakeSettingsWithListener , fakeImpressionsCache , strategy , fakeWhenInit , fakeIntegrationsManager ) ;
84+ const tracker = impressionsTrackerFactory ( fakeSettingsWithListener , fakeImpressionsCache , fakeNoneStrategy , strategy , fakeWhenInit , fakeIntegrationsManager ) ;
8085
8186 const fakeImpression = {
8287 feature : 'impression'
@@ -150,8 +155,8 @@ describe('Impressions Tracker', () => {
150155 impression3 . time = 1234567891 ;
151156
152157 const trackers = [
153- impressionsTrackerFactory ( fakeSettings , fakeImpressionsCache , strategyDebugFactory ( impressionObserverSSFactory ( ) ) , fakeWhenInit , undefined ) ,
154- impressionsTrackerFactory ( fakeSettings , fakeImpressionsCache , strategyDebugFactory ( impressionObserverCSFactory ( ) ) , fakeWhenInit , undefined )
158+ impressionsTrackerFactory ( fakeSettings , fakeImpressionsCache , fakeNoneStrategy , strategyDebugFactory ( impressionObserverSSFactory ( ) ) , fakeWhenInit , undefined ) ,
159+ impressionsTrackerFactory ( fakeSettings , fakeImpressionsCache , fakeNoneStrategy , strategyDebugFactory ( impressionObserverCSFactory ( ) ) , fakeWhenInit , undefined )
155160 ] ;
156161
157162 expect ( fakeImpressionsCache . track ) . not . toBeCalled ( ) ; // storage method should not be called until impressions are tracked.
@@ -178,7 +183,7 @@ describe('Impressions Tracker', () => {
178183 impression3 . time = Date . now ( ) ;
179184
180185 const impressionCountsCache = new ImpressionCountsCacheInMemory ( ) ;
181- const tracker = impressionsTrackerFactory ( fakeSettings , fakeImpressionsCache , strategyOptimizedFactory ( impressionObserverCSFactory ( ) , impressionCountsCache ) , fakeWhenInit , undefined , fakeTelemetryCache as any ) ;
186+ const tracker = impressionsTrackerFactory ( fakeSettings , fakeImpressionsCache , fakeNoneStrategy , strategyOptimizedFactory ( impressionObserverCSFactory ( ) , impressionCountsCache ) , fakeWhenInit , undefined , fakeTelemetryCache as any ) ;
182187
183188 expect ( fakeImpressionsCache . track ) . not . toBeCalled ( ) ; // cache method should not be called by just creating a tracker
184189
@@ -201,7 +206,7 @@ describe('Impressions Tracker', () => {
201206 test ( 'Should track or not impressions depending on user consent status' , ( ) => {
202207 const settings = { ...fullSettings } ;
203208
204- const tracker = impressionsTrackerFactory ( settings , fakeImpressionsCache , strategy , fakeWhenInit ) ;
209+ const tracker = impressionsTrackerFactory ( settings , fakeImpressionsCache , fakeNoneStrategy , strategy , fakeWhenInit ) ;
205210
206211 tracker . track ( [ impression ] ) ;
207212 expect ( fakeImpressionsCache . track ) . toBeCalledTimes ( 1 ) ; // impression should be tracked if userConsent is undefined
0 commit comments