Из-за registerEnumType это не может быть проверено в jest - PullRequest
1 голос
/ 06 апреля 2020

Я использую typegraphql, и я регистрирую тип перечисления DayOfWeek, используя resgiterEnumType.

Ниже приведены мои функции enum и registerEnumType, и они находятся в одном файле.

export enum DayOfWeek {
    SUNDAY,
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY,
    SATURDAY
}

registerEnumType(DayOfWeek, {
    name: "DayOfWeekType", // this one is mandatory
});

Это работает хорошо, когда я запускаю программу. но когда я запускаю jest test, я получаю сообщение вроде:

Looks like you've forgot to provide experimental metadata API polyfill.
  12 | }
  13 | 
> 14 | registerEnumType(DayOfWeek, {
     | ^
  15 |     name: "DayOfWeekType", // this one is mandatory
  16 | });
  17 | 

Если я помещаю enum и registerEnumType в один и тот же файл, запуск работает хорошо, и тест не пройден.

и если я отделюсь enum и registerEnumType, graphql не найден DayOfWeek тип ....

как я могу это решить?

1 Ответ

1 голос
/ 06 апреля 2020
import { Test, TestingModule } from '@nestjs/testing';
import { GraphQLModule } from '@nestjs/graphql';

describe('your test suite', () => {
    beforeEach(async () => {
        const module: TestingModule = await Test.createTestingModule({
            imports: [
                GraphQLModule.forRoot({
                    ... 
                }),
            ],
        }).compile();

    });
});

Вам необходимо предоставить GraphQLModule в вашей спецификации c.

P / S: приведенный выше фрагмент кода предполагает, что вы используете NestJS framework.

...