diff --git a/packages/apollo-server-caching/src/__mocks__/date.ts b/__mocks__/date.ts similarity index 93% rename from packages/apollo-server-caching/src/__mocks__/date.ts rename to __mocks__/date.ts index 62180933..0498f880 100644 --- a/packages/apollo-server-caching/src/__mocks__/date.ts +++ b/__mocks__/date.ts @@ -14,7 +14,7 @@ export function advanceTimeBy(ms: number) { now += ms; } -const handler = { +const handler: ProxyHandler = { construct(target, args) { if (args.length === 0) { return new Date(now); diff --git a/packages/apollo-datasource-rest/src/__mocks__/fetch.ts b/__mocks__/fetch.ts similarity index 100% rename from packages/apollo-datasource-rest/src/__mocks__/fetch.ts rename to __mocks__/fetch.ts diff --git a/packages/apollo-datasource-rest/src/__mocks__/date.ts b/packages/apollo-datasource-rest/src/__mocks__/date.ts deleted file mode 100644 index 91a150b4..00000000 --- a/packages/apollo-datasource-rest/src/__mocks__/date.ts +++ /dev/null @@ -1,32 +0,0 @@ -const RealDate = global.Date; - -export function mockDate() { - global.Date = new Proxy(RealDate, handler); -} - -export function unmockDate() { - global.Date = RealDate; -} - -let now = Date.now(); - -export function advanceTimeBy(ms: number) { - now += ms; -} - -const handler = { - construct(target, args) { - if (args.length === 0) { - return new Date(now); - } else { - return new target(...args); - } - }, - get(target, propKey, receiver) { - if (propKey === 'now') { - return () => now; - } else { - return target[propKey]; - } - }, -}; diff --git a/packages/apollo-datasource-rest/src/__tests__/HTTPCache.test.ts b/packages/apollo-datasource-rest/src/__tests__/HTTPCache.test.ts index c91ce952..5536893e 100644 --- a/packages/apollo-datasource-rest/src/__tests__/HTTPCache.test.ts +++ b/packages/apollo-datasource-rest/src/__tests__/HTTPCache.test.ts @@ -1,8 +1,12 @@ import 'apollo-server-env'; import { HTTPCache } from '../HTTPCache'; -import fetch, { mockFetch, unmockFetch } from '../__mocks__/fetch'; -import { mockDate, unmockDate, advanceTimeBy } from '../__mocks__/date'; +import fetch, { mockFetch, unmockFetch } from '../../../../__mocks__/fetch'; +import { + mockDate, + unmockDate, + advanceTimeBy, +} from '../../../../__mocks__/date'; describe('HTTPCache', () => { let store: Map; diff --git a/packages/apollo-datasource-rest/src/__tests__/RESTDataSource.test.ts b/packages/apollo-datasource-rest/src/__tests__/RESTDataSource.test.ts index b37638ae..21bb6bb7 100644 --- a/packages/apollo-datasource-rest/src/__tests__/RESTDataSource.test.ts +++ b/packages/apollo-datasource-rest/src/__tests__/RESTDataSource.test.ts @@ -1,7 +1,7 @@ import 'apollo-server-env'; import { RESTDataSource } from '../RESTDataSource'; -import fetch, { mockFetch, unmockFetch } from '../__mocks__/fetch'; +import fetch, { mockFetch, unmockFetch } from '../../../../__mocks__/fetch'; import { HTTPCache } from '../HTTPCache'; describe('RESTDataSource', () => { diff --git a/packages/apollo-datasource-rest/tsconfig.json b/packages/apollo-datasource-rest/tsconfig.json index bbb66fb6..700fb9c5 100644 --- a/packages/apollo-datasource-rest/tsconfig.json +++ b/packages/apollo-datasource-rest/tsconfig.json @@ -5,6 +5,7 @@ "outDir": "./dist", "removeComments": true, "strict": true, + "noImplicitAny": true, "noImplicitReturns": true, "noFallthroughCasesInSwitch": true, "noUnusedParameters": true, diff --git a/packages/apollo-server-caching/src/tests.ts b/packages/apollo-server-caching/src/__tests__/testsuite.ts similarity index 89% rename from packages/apollo-server-caching/src/tests.ts rename to packages/apollo-server-caching/src/__tests__/testsuite.ts index 894462e5..3364399f 100644 --- a/packages/apollo-server-caching/src/tests.ts +++ b/packages/apollo-server-caching/src/__tests__/testsuite.ts @@ -1,6 +1,10 @@ -import { advanceTimeBy, mockDate, unmockDate } from './__mocks__/date'; +import { + advanceTimeBy, + mockDate, + unmockDate, +} from '../../../../__mocks__/date'; -export function testKeyValueCache(keyValueCache) { +export function testKeyValueCache(keyValueCache: any) { describe('KeyValueCache Test Suite', () => { beforeAll(() => { mockDate(); diff --git a/packages/apollo-server-caching/src/index.ts b/packages/apollo-server-caching/src/index.ts index 601886c1..7a1ba0e0 100644 --- a/packages/apollo-server-caching/src/index.ts +++ b/packages/apollo-server-caching/src/index.ts @@ -1,4 +1,2 @@ export { KeyValueCache } from './KeyValueCache'; -export { testKeyValueCache } from './tests'; - export { InMemoryLRUCache } from './InMemoryLRUCache'; diff --git a/packages/apollo-server-caching/tsconfig.json b/packages/apollo-server-caching/tsconfig.json index bbb66fb6..700fb9c5 100644 --- a/packages/apollo-server-caching/tsconfig.json +++ b/packages/apollo-server-caching/tsconfig.json @@ -5,6 +5,7 @@ "outDir": "./dist", "removeComments": true, "strict": true, + "noImplicitAny": true, "noImplicitReturns": true, "noFallthroughCasesInSwitch": true, "noUnusedParameters": true, diff --git a/packages/apollo-server-memcached/__tests__/Memcached.test.ts b/packages/apollo-server-memcached/__tests__/Memcached.test.ts index 4bdea1d1..246e09de 100644 --- a/packages/apollo-server-memcached/__tests__/Memcached.test.ts +++ b/packages/apollo-server-memcached/__tests__/Memcached.test.ts @@ -2,6 +2,6 @@ jest.mock('memcached', () => require('memcached-mock')); import { MemcachedCache } from '../src/index'; -import { testKeyValueCache } from 'apollo-server-caching'; +import { testKeyValueCache } from '../../apollo-server-caching/src/__tests__/testsuite'; testKeyValueCache(new MemcachedCache('localhost')); diff --git a/packages/apollo-server-redis/__tests__/Redis.test.ts b/packages/apollo-server-redis/__tests__/Redis.test.ts index f9ca2661..bde29e87 100644 --- a/packages/apollo-server-redis/__tests__/Redis.test.ts +++ b/packages/apollo-server-redis/__tests__/Redis.test.ts @@ -3,6 +3,6 @@ jest.mock('redis', () => require('redis-mock')); jest.useFakeTimers(); // mocks out setTimeout that is used in redis-mock import { RedisCache } from '../src/index'; -import { testKeyValueCache } from 'apollo-server-caching'; +import { testKeyValueCache } from '../../apollo-server-caching/src/__tests__/testsuite'; testKeyValueCache(new RedisCache({ host: 'localhost' }));