如何在 Angular 2 单元测试中测试拖放

raj*_*raj 5 ionic-framework angular

我正在开发一个Ionic 2具有火种卡功能的应用程序。我想测试throwout当卡片拖动超过限制时发生的卡片事件。我正在使用摆动库。

主页.html

<div swing-stack #myswing1 [stackConfig]="stackConfig"  id="card-stack">
  <button ion-button icon-only *ngIf="hunts.length == 0" (click)="loadHunts()"><ion-icon name="refresh-circle"></ion-icon></button>
  <ion-card swing-card #mycards1 *ngFor="let hunt of hunts"  [navPush]="showHuntPage" [navParams]="{hunt: hunt}" >
    <ion-card-header>
      {{hunt.title}}
    </ion-card-header>
    <ion-card-content>
      <div><img width="150" height="250" [src]="imageSource(hunt.picture_url)"></div>
      <div>
        {{hunt.clue}}
      </div>
      <div>
        {{hunt.distance_from_user }} away
      </div>
    </ion-card-content>
  </ion-card>
</div>
</ion-content>
Run Code Online (Sandbox Code Playgroud)

每个ion-card都是throwable通过拖动。

我确实订阅了这样的throwing事件home.ts

    this.throwRightSub =  this.swingStack.throwoutright.subscribe( (event: ThrowEvent) => {
      let hunt = this.hunts.shift();
      this.reviewHunt("accepted",hunt);
      this.events.publish("hunt-accepted",hunt);
    });
    this.throwLeftSub = this.swingStack.throwoutleft.subscribe( (event: ThrowEvent) => {
      let hunt = this.hunts.shift();
      this.reviewHunt("rejected",hunt);
    });
  }
Run Code Online (Sandbox Code Playgroud)

我看到点击事件被嘲笑

let el = fixture.debugElement.query(By.css('ion-card'));
el.triggerEventHandler('click', null);
Run Code Online (Sandbox Code Playgroud)

无论如何drag在单元测试中触发事件?任何帮助,将不胜感激。