как импортировать машинописный класс в шутку нет конструктивных подписей - PullRequest
1 голос
/ 24 января 2020

Я работаю над проектом nodeJs, используя машинопись. Я хотел импортировать класс и использовать его в модульном тесте (шутка), однако продолжают появляться следующие ошибки:

Есть ли работа, чтобы заставить его работать? Я попытался изменить синтаксис импорта (добавление / удаление '*'). Некоторые потоки также предлагают использовать класс-трансформер, но я хотел, чтобы все было просто.

Пожалуйста, дайте мне знать, если вам нужно больше информации. Ценю все ваши подсказки!

error TS2351: This expression is not constructable.
      Type 'SearchParams' has no construct signatures.

    const model: any = new SearchParams();

unit_test.ts

    import { SearchParams } from "../../../src/controllers/requests/SearchParams";
import { validate } from "class-validator";
import {
      IsDefined,
      IsBoolean,
      IsString,
      IsEmail,
      IsNumberString,
      IsNotEmpty,
      MaxLength,
      IsNumber,
      Matches,
      Validate
    } from 'class-validator';
import { DateConditionCheck } from '../../../src/controllers/validators/DateConditionCheck';

     describe("GET: search/api", () => {
       const model: any = new SearchParams();
       model.depArea = 'HND';
    
         it('should throw an error message when date input is incorrect', async () => {
          return validate(model).then(errors => {
            expect(errors.length).toBe(1);
            expect(model.dd).toThrow('Date condition seems wrong!');
          });
         });
      });
    

import {
  IsDefined,
  IsBoolean,
  IsString,
  IsEmail,
  IsNumberString,
  IsNotEmpty,
  MaxLength,
  IsNumber,
  Matches,
  Validate
} from 'class-validator'
import { DateConditionCheck } from '../validators/DateConditionCheck'

export class SearchParams {
  @IsDefined()
  @IsNotEmpty()
  @IsString()
  @MaxLength(20)
  depArea: string;
}
...