小编col*_*r-j的帖子

如何在 e2e 测试期间应用全局管道

使用时如何应用全局管道Test.createTestingModule

通常,当应用程序安装在main.ts.

beforeEach(async done => {
    const moduleFixture: TestingModule = await Test.createTestingModule({
      imports: [AppModule]
    }).compile()

    app = moduleFixture.createNestApplication()
    await app.init()
    done()
  })
Run Code Online (Sandbox Code Playgroud)

nestjs

6
推荐指数
2
解决办法
606
查看次数

从接口获取`__typename`

我有一个具有属性的ts接口(用于apollo-client@v2 gql查询)__typename。在现有的代码库中,存在大量数据对象的“补水”,__typename以“魔术字符串”的方式重新添加接口的类型。我想知道是否有一种方法可以通过引用字符串类型,ts或者有一种方法可以避免通过现有类型或缓存系统执行此操作。

一个示例(生成的)界面:

export interface SomeNode {
  __typename: "SomeNode";
  id: string;
  name: string;
}
Run Code Online (Sandbox Code Playgroud)

有没有办法将“SomeNode”作为值和类型获取?

const newObject: SomeNode = {
  __typename: string(NewNode.__typename) as NewNode.__typename,
  id: 'some value',
  name: 'some name'
}
Run Code Online (Sandbox Code Playgroud)

目前我们这样做:

const newObject: SomeNode = {
  __typename: "NewNode" as "NewNode",
  id: 'some value',
  name: 'some name'
}
Run Code Online (Sandbox Code Playgroud)

这是一个简化的示例,用法确实看起来很奇怪。但我正在寻找一种方法来完成这个特定的事情。如果没有这个,我们最终会在整个代码库中重新创建已经生成的类型。

typescript apollo react-apollo apollo-client

6
推荐指数
0
解决办法
1966
查看次数

如何测试使用 apollo 客户端 Reactive Var 的组件

如何对使用钩子的功能组件进行单元测试(使用jest和) ?enzymeuseReactiveVar

我应该useReactiveVar用 来模拟钩子jest吗?

jestjs enzyme apollo-client react-hooks

6
推荐指数
1
解决办法
2565
查看次数

从使用“prop-types”的 JS React 组件生成类型定义

我们有一个像这样的组件:

import PropTypes from 'prop-types';
import React from 'react';

export default class Tooltip extends React.Component {
  static propTypes = {
    /**
     * Some children components
     */
    children: PropTypes.node.isRequired,
    /**
     * Some property
     */
    someProp: PropTypes.string,
   }

   .....

}
Run Code Online (Sandbox Code Playgroud)

是否有一些工具可以为打字稿声明文件启用类型生成,以生成类似以下内容的内容:

interface ITooltip {
    children: React.Node,
    someProp: string
}
Run Code Online (Sandbox Code Playgroud)

一些参考:

javascript typescript reactjs react-proptypes

6
推荐指数
1
解决办法
1732
查看次数

在事务中包装续集 ORM 测试

我正在寻找一种方法来使我的测试用例使用sequelize ORM 事务性。这已经在sequelize github issues上进行了讨论:

寻找一种方法来执行以下操作:

describe('My test case', () => {
    beforeEach(() => {
        ... create a transaction
    })

    afterEach(() => {
        ... roll back the transaction
    })

    ..... RUN isolated tests

})
Run Code Online (Sandbox Code Playgroud)

我习惯了 Django ORM,它在测试用例中默认执行此操作(其中包括自动管理迁移)。

javascript sequelize.js jestjs

5
推荐指数
1
解决办法
667
查看次数

我如何在 NESTJS 中设置多租户

我想连接到基于子域(多租户)的任何数据库,但我不知道该怎么做。

我的代码在应用程序启动时运行,但我不知道如何根据子域更改数据源。

PS:我在每个请求上都创建了中间件,但我不知道如何更改源。

我的数据库有以下代码:

import { connect, createConnection } from 'mongoose';
import { SERVER_CONFIG, DB_CONNECTION_TOKEN } from '../server.constants';

 const opts = {
    useCreateIndex: true,
    useNewUrlParser: true,
    keepAlive: true,
    socketTimeoutMS: 30000,
    poolSize: 100,
    reconnectTries: Number.MAX_VALUE,
    reconnectInterval: 500,
    autoReconnect: true,
  };
export const databaseProviders = [
  {
    provide: DB_CONNECTION_TOKEN,
    useFactory: async () => {
      try {
        console.log(`Connecting to ${ SERVER_CONFIG.db }`);
        return await createConnection(`${SERVER_CONFIG.db}`, opts);
      } catch (ex) {
        console.log(ex);
      }

    },
  }
];
Run Code Online (Sandbox Code Playgroud)

我想根据子域(多租户)在每个请求中更改我的数据源

multi-tenant mongodb nestjs

4
推荐指数
2
解决办法
6673
查看次数

如何启用 NestJs swagger 4.x 插件

你如何使用新的 swagger 插件?我的编译器选项中有它:

  "compilerOptions": {
    "plugins": ["@nestjs/swagger/plugin"]
  }
Run Code Online (Sandbox Code Playgroud)

nest start按照描述运行应用程序:https : //docs.nestjs.com/recipes/swagger#migration-to-40

然而,似乎没有自动魔法文档发生。

nestjs

4
推荐指数
1
解决办法
3698
查看次数

未发现(承诺):错误:没有GooglePlus提供者

我正在尝试使用cordova-plugin-googleplus插件。

我读过其他文章,说要将该插件添加为提供程序,并且尝试这样做无济于事。

当我尝试访问登录页面时,出现带有堆栈跟踪的错误:

未发现运行时错误(承诺):错误:没有GooglePlus提供商!错误:没有GooglePlus提供商!在ReflectiveInjector_处的noProviderError(http:// localhost:8100 / build / vendor.js:1628:12)处,在injectionError(http:// localhost:8100 / build / vendor.js:1590:86)处。在ReflectiveInjector处抛出throwOrNull(http:// localhost:8100 / build / vendor.js:3129:19ReflectiveInjector上的getByKeyDefault(http:// localhost:8100 / build / vendor.js:3168:25ReflectiveInjector .get(http:// localhost:8100 / build / vendor.js:2969:21处的getByKey(http:// localhost:8100 / build / vendor.js:3100:25),位于AppModuleInjector.getInternal(ng:///AppModule/module.ngfactory.js:615:44)的AppModuleInjector.get(ng:///AppModule/module.ngfactory.js:332:145)。在LoginPageModuleInjector.NgModuleInjector.get 获取(http:// localhost:8100 / build / vendor.js:3936:44)(http:// localhost:8100 / build / vendor.js:3937:52

堆栈跟踪

Error: Uncaught (in promise): Error: No provider …
Run Code Online (Sandbox Code Playgroud)

node.js typescript ionic-framework ionic2 angular

2
推荐指数
1
解决办法
1567
查看次数

模板解析:找不到管道

我收到错误消息:

模板解析错误:找不到管道“ amDateFormat”

这是我的 app.module.ts

import { NgModule } from '@angular/core';
...
import { MomentModule } from 'angular2-moment';
...

@NgModule({
  declarations: [
    MyApp
  ],
  imports: [
    ...
    MomentModule,
    ...
  ],
  bootstrap: [IonicApp],
  entryComponents: [
    MyApp
  ],
  providers: [
    ...
  ]
})
export class AppModule { }
Run Code Online (Sandbox Code Playgroud)

然后在service-booking-details.ts执行以下操作:

import { Component} from '@angular/core';
import { IonicPage, NavController, NavParams} from 'ionic-angular';
import { MomentModule } from 'angular2-moment';
...    

@IonicPage()
@Component({
  selector: 'page-item-detail',
  templateUrl: 'service-booking-detail.html'
})
export class ServiceBookingDetailPage {
  service: …
Run Code Online (Sandbox Code Playgroud)

ionic2 angular2-moment angular

2
推荐指数
1
解决办法
2952
查看次数

所有控制器的全局标头(nestJs swagger)

有没有办法将所需的标头全局添加到 NestJS 中的所有端点/控制器?

有一个控制器绑定装饰器@ApiHeader。有没有办法将其应用于所有端点?

swagger nestjs

2
推荐指数
1
解决办法
1057
查看次数

NestJs - ParseUUIDPipe - 验证失败(需要 uuid vundefined)

我有一个基本的控制器设置:

@Controller('')
export class AController {
 @Get(':id')
  async getThing(@Param('id', ParseUUIDPipe) id: string): Promise<RegisterRead[] | IntervalRead[]> {
      return id
  }
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

{
    "statusCode": 400,
    "error": "Bad Request",
    "message": "Validation failed (uuid vundefined is expected)"
}
Run Code Online (Sandbox Code Playgroud)

另见:https : //github.com/nestjs/nest/issues/2960

nestjs

1
推荐指数
1
解决办法
1744
查看次数