11/* eslint-disable no-underscore-dangle */
22
3+ import * as redis from "redis" ;
34import * as Cache from "../cache" ;
45
5- // eslint-disable-next-line @typescript-eslint/no-require-imports
6- const redis = require ( "redis" ) ;
7-
8- jest . mock ( "redis" ) ;
6+ vi . mock ( "redis" , async ( ) => import ( "../__mocks__/redis" ) ) ;
97
108describe ( "cache" , ( ) => {
119 beforeEach ( ( ) => {
12- redis . _get . mockClear ( ) ;
13- redis . _set . mockClear ( ) ;
14- redis . _reset ( ) ;
10+ ( redis as any ) . _get . mockClear ( ) ;
11+ ( redis as any ) . _set . mockClear ( ) ;
12+ ( redis as any ) . _reset ( ) ;
1513 } ) ;
1614
1715 describe ( "set" , ( ) => {
@@ -21,10 +19,10 @@ describe("cache", () => {
2119
2220 await Cache . set ( key , value ) ;
2321
24- expect ( redis . _set . mock . calls . length ) . toBe ( 1 ) ;
25- expect ( redis . _set . mock . calls [ 0 ] [ 0 ] ) . toBe ( key ) ;
26- expect ( redis . _set . mock . calls [ 0 ] [ 1 ] ) . toBe ( JSON . stringify ( value ) ) ;
27- expect ( redis . _set . mock . calls [ 0 ] [ 2 ] ) . toEqual ( { EX : 86400 } ) ;
22+ expect ( ( redis as any ) . _set . mock . calls . length ) . toBe ( 1 ) ;
23+ expect ( ( redis as any ) . _set . mock . calls [ 0 ] [ 0 ] ) . toBe ( key ) ;
24+ expect ( ( redis as any ) . _set . mock . calls [ 0 ] [ 1 ] ) . toBe ( JSON . stringify ( value ) ) ;
25+ expect ( ( redis as any ) . _set . mock . calls [ 0 ] [ 2 ] ) . toEqual ( { EX : 86400 } ) ;
2826 } ) ;
2927
3028 it ( "passes given ttl to redis store" , async ( ) => {
@@ -34,7 +32,7 @@ describe("cache", () => {
3432
3533 await Cache . set ( key , value , ttl ) ;
3634
37- expect ( redis . _set . mock . calls [ 0 ] [ 2 ] ) . toEqual ( { EX : ttl } ) ;
35+ expect ( ( redis as any ) . _set . mock . calls [ 0 ] [ 2 ] ) . toEqual ( { EX : ttl } ) ;
3836 } ) ;
3937
4038 it ( "uses 24 hours as default ttl" , async ( ) => {
@@ -43,7 +41,7 @@ describe("cache", () => {
4341
4442 await Cache . set ( key , value ) ;
4543
46- expect ( redis . _set . mock . calls [ 0 ] [ 2 ] ) . toEqual ( { EX : 24 * 60 * 60 } ) ;
44+ expect ( ( redis as any ) . _set . mock . calls [ 0 ] [ 2 ] ) . toEqual ( { EX : 24 * 60 * 60 } ) ;
4745 } ) ;
4846 } ) ;
4947
@@ -57,8 +55,8 @@ describe("cache", () => {
5755 // ignore errors
5856 }
5957
60- expect ( redis . _get . mock . calls . length ) . toBe ( 1 ) ;
61- expect ( redis . _get . mock . calls [ 0 ] [ 0 ] ) . toBe ( key ) ;
58+ expect ( ( redis as any ) . _get . mock . calls . length ) . toBe ( 1 ) ;
59+ expect ( ( redis as any ) . _get . mock . calls [ 0 ] [ 0 ] ) . toBe ( key ) ;
6260 } ) ;
6361
6462 it ( "returns correct data from redis store after it was saved" , async ( ) => {
@@ -71,10 +69,10 @@ describe("cache", () => {
7169 expect ( cachedData ) . toEqual ( value ) ;
7270 } ) ;
7371
74- it ( "rejects the promise when no data is stored in redis" , ( ) => {
72+ it ( "rejects the promise when no data is stored in redis" , async ( ) => {
7573 const key = "foo" ;
7674
77- expect ( Cache . get ( key ) ) . rejects . toBeUndefined ( ) ;
75+ await expect ( Cache . get ( key ) ) . rejects . toBeUndefined ( ) ;
7876 } ) ;
7977 } ) ;
8078} ) ;
0 commit comments