小编rj.*_*arn的帖子

MatDialog服务单元测试Angular 6错误

我有模态服务来打开,确认和关闭对话框,并且正在制作其单元测试文件,但是我在Angular上遇到了错误,这是代码。

模态服务

@Injectable()
export class ModalService {

  constructor(private dialog: MatDialog) { }

  public open<modalType>(modalComponent: ComponentType<modalType>): Observable<any> {
    let dialogRef: MatDialogRef<any>;

    dialogRef = this.dialog.open(modalComponent, {
      maxWidth: '100vw'
    });
    console.log(dialogRef)
    dialogRef.componentInstance.body = body;

    return dialogRef.afterClosed().pipe(map(result => console.log('test'); );
  }

}
Run Code Online (Sandbox Code Playgroud)

模态服务规格

export class TestComponent  {}


describe('ModalService', () => {
  let modalService: ModalService;

  const mockDialogRef = {
    open: jasmine.createSpy('open')
  };

  beforeEach(async(() => {
    TestBed.configureTestingModule({
      imports: [ MatDialogModule ],
      providers: [
        ModalService,
        MatDialogRef,
        { provide: MatDialog, useClass: MatDialogStub }
      ]
    }).compileComponents();

    modalService = TestBed.get(ModalService); …
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing jasmine karma-jasmine angular

9
推荐指数
3
解决办法
9313
查看次数

如何使用Graphql动态更新一张表中的多行

我是 graphql hasura 的新手,我遇到了如何更新一个表中的多行的问题,因为通常我只更新每个表的一行。

我想以动态方式更新多行

例如,我有现有的行数据。

id: 1, name: 'rosie', age: 12
id: 2, name: 'jane', age: 20
id: 3, name: 'rafaela', age: 25
Run Code Online (Sandbox Code Playgroud)

我只想编辑 2 行。

id: 1, name: 'rosie update', age: 12
id: 2, name: 'jane update', age: 21
Run Code Online (Sandbox Code Playgroud)

我有一系列用户。可以是 1 个或 1 个以上的用户将被更新。

const users = [
{id: 1, name: 'rosie update', age: 12}.
{id: 2, name: 'jane update', age: 21}
];

mutation update_article {
  update_user(
    where: {id: {_eq: users[0].id}},
    _set: {
      name: users[0].name,
      age: users[0].age
   } …
Run Code Online (Sandbox Code Playgroud)

graphql hasura

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