Переглянути джерело

feat(test): Add tokenMethod cookie support for TestServer (#2084)

armitjs 2 роки тому
батько
коміт
57793cf9d1
1 змінених файлів з 8 додано та 0 видалено
  1. 8 0
      packages/testing/src/test-server.ts

+ 8 - 0
packages/testing/src/test-server.ts

@@ -2,6 +2,7 @@ import { INestApplication } from '@nestjs/common';
 import { NestFactory } from '@nestjs/core';
 import { DefaultLogger, JobQueueService, Logger, VendureConfig } from '@vendure/core';
 import { preBootstrapConfig } from '@vendure/core/dist/bootstrap';
+import cookieSession from 'cookie-session';
 
 import { populateForTesting } from './data-population/populate-for-testing';
 import { getInitializerFor } from './initializers/initializers';
@@ -116,6 +117,13 @@ export class TestServer {
                 cors: config.apiOptions.cors,
                 logger: new Logger(),
             });
+            const { tokenMethod } = config.authOptions;
+            const usingCookie =
+                tokenMethod === 'cookie' || (Array.isArray(tokenMethod) && tokenMethod.includes('cookie'));
+            if (usingCookie) {
+                const { cookieOptions } = config.authOptions;
+                app.use(cookieSession(cookieOptions));
+            }
             const earlyMiddlewares = config.apiOptions.middleware.filter(mid => mid.beforeListen);
             earlyMiddlewares.forEach(mid => {
                 app.use(mid.route, mid.handler);