import {Context} from 'koa'; export type Cookies = Context['cookies']; export interface Dictionary { [key: string]: T; } export interface MockCookies extends Cookies { requestStore: Map; responseStore: Map; } export default function createMockCookies( cookies = {}, secure = true, ): MockCookies { const cookieEntries = Object.keys(cookies).map( key => [key, cookies[key]] as [string, string], ); const requestStore = new Map(cookieEntries); const responseStore = new Map(cookieEntries); return { set: jest.fn((key, value) => { return responseStore.set(key, value); }), get: jest.fn(key => { return requestStore.get(key); }), requestStore, responseStore, secure, } as any; }