При выполнении тестов e2e в Nest.js с FastifyAdapter Я получаю следующую ошибку при выполнении тестов:
TypeError: app.address is not a function
54 |
55 | return request(app.getHttpServer())
> 56 | .post('/authentication/register')
| ^
57 | .send(payload)
58 | .expect(400);
59 | });
Состав выглядит следующим образом:
beforeAll(async () => {
const module = await Test.createTestingModule({
imports: [AuthenticationModule],
})
.overrideProvider(UserRepository)
.useValue(userRepository)
.compile();
app = module.createNestApplication(new FastifyAdapter());
await app.init();
});
it(`/POST register - should succeed for valid info`, () => {
const payload = { email: 'johnson@gmail.com', password: '1234' };
return request(app.getHttpServer())
.post('/authentication/register')
.send(payload)
.expect({})
.expect(201);
});
Когда не используется FastifyAdapter , такой ошибки нет.Причина использования адаптера кроется в плагине fastify-cookie , который позволяет манипулировать файлами cookie с помощью запросов.
Просто хочу отметить, что для этой демонстрации я использовал плагин cookie в перед тем, как все что было бы:
const fastifyAdapter = new FastifyAdapter();
fastifyAdapter.register(fastifyCookie);