0

クラスを Jest でテストしようとしましたが、成功しませんでした。

例では、パラメーターを使用したメソッドがあります。プレイグラウンドで試してみると、満足のいく応答が得られますが、テストでは問題が発生しています。いくつかの例を見てきましたが、あまり役に立ちませんでした。ライブラリのドキュメントや例もありません。

@Resolver()
export class ProductoResolver {

  private productoServices: ProductoContract
  constructor(productoImpl: ProductoContract = new ProductoServices()){ this.productoServices  = productoImpl; }



  @Query(() => Producto, { description : 'Obtiene un producto especifico' })
  async getProductoById ( @Arg("productoId", { nullable: false }) productoId?: number ) {
    try {
      const data = await this.productoServices.obtenerProductoEspecifico(productoId);
      return data;
    } catch (err) {
      logger.error(err);
      throw new Error(err);
    }
  }
}

アプリケーション(クラスの解決)、ドメイン、およびアーキテクチャの層を持つn層アプリケーションがあります。

私はこれらの2つの方法で試しました:

    it('tipo 1', async ()=> {

        schema = await buildSchema({
            resolvers: [ProductoResolver],
            validate: true,
        });

        const query = `          
        query{
            getProductoById(productoId: 500){
              codigo
              descripcion
              monedaoperacion
            }
          }`;

        const result = await graphql(schema, query);
        console.log('result: ', result);
        expect(result).toBeDefined();

    });

    it('tipo 2 ', async () => {
        const functions = new ProductoResolver();
        const data = await functions.getProductoById(500);
        console.log('tipo 2: ',data);
        expect(data).toBeDefined();

    });

しかし、これらのエラーがあります。

エラー冗談

私たちを手伝ってくれますか?

4

1 に答える 1