當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript MockStore.MockStore類代碼示例

本文整理匯總了TypeScript中test/MockStore.MockStore的典型用法代碼示例。如果您正苦於以下問題:TypeScript MockStore類的具體用法?TypeScript MockStore怎麽用?TypeScript MockStore使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了MockStore類的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: inject

 inject([Store], (store: MockStore) => {
   fixture = TestBed.createComponent(TimelineAnimationRowComponent);
   component = fixture.componentInstance;
   component.layer = store.getState().present.layers.vectorLayer;
   component.ngOnInit();
   fixture.detectChanges();
 }),
開發者ID:arpitsaan,項目名稱:ShapeShifter,代碼行數:7,代碼來源:timelineanimationrow.component.spec.ts

示例2: describe

describe('LayerListTreeComponent', () => {
  let component: LayerListTreeComponent;
  let fixture: ComponentFixture<LayerListTreeComponent>;
  let store: MockStore;

  beforeEach(
    async(() => {
      TestBed.configureTestingModule({
        declarations: [LayerListTreeComponent],
        imports: [
          HttpClientModule,
          FlexLayoutModule,
          MatButtonModule,
          MatIconModule,
          MatMenuModule,
          MatTooltipModule,
        ],
        providers: [
          { provide: Store, useValue: new MockStore() },
          ActionModeService,
          LayerTimelineService,
        ],
      }).compileComponents();
      loadSvgIcons([
        { name: 'animationblock', path: 'assets/icons/animationblock.svg' },
        { name: 'vector', path: 'assets/icons/vectorlayer.svg' },
      ]);
    }),
  );

  beforeEach(
    inject([Store], (s: MockStore) => {
      fixture = TestBed.createComponent(LayerListTreeComponent);
      component = fixture.componentInstance;
      store = s;
    }),
  );

  function callNgOnInit(layers?: LayerState) {
    if (layers) {
      store.setLayerState(layers);
    }
    component.layer = store.getState().present.layers.vectorLayer;
    component.ngOnInit();
    fixture.detectChanges();
  }

  it('Initialize w/ default state', () => {
    callNgOnInit();
    const vectorLayerElem = fixture.debugElement.query(By.css('.slt-layer-id-text')).nativeElement;
    expect(
      $(vectorLayerElem)
        .text()
        .trim(),
    ).toBe('vector');
  });
});
開發者ID:arpitsaan,項目名稱:ShapeShifter,代碼行數:57,代碼來源:layerlisttree.component.spec.ts

示例3: describe

describe('PlaybackComponent', () => {
  let component: PlaybackComponent;
  let fixture: ComponentFixture<PlaybackComponent>;
  let store: MockStore;

  beforeEach(
    async(() => {
      TestBed.configureTestingModule({
        declarations: [PlaybackComponent],
        imports: [FlexLayoutModule, MatButtonModule, MatIconModule, MatTooltipModule],
        providers: [{ provide: Store, useValue: new MockStore() }, PlaybackService],
      }).compileComponents();
    }),
  );

  beforeEach(
    inject([Store], (s: MockStore) => {
      fixture = TestBed.createComponent(PlaybackComponent);
      component = fixture.componentInstance;
      store = s;
    }),
  );

  function callNgOnInit(playback?: PlaybackState) {
    if (playback) {
      store.setPlaybackState(playback);
    }
    component.ngOnInit();
    fixture.detectChanges();
  }

  it('No buttons activated', () => {
    callNgOnInit();
    const buttons = fixture.debugElement
      .queryAll(By.css('mat-icon.activated'))
      .map(d => d.nativeElement);
    expect(buttons.length).toBe(0);
  });

  it('All buttons activated', () => {
    callNgOnInit({ isSlowMotion: true, isPlaying: false, isRepeating: true, currentTime: 0 });
    const buttons = fixture.debugElement
      .queryAll(By.css('mat-icon.activated'))
      .map(d => d.nativeElement);
    expect(buttons.length).toBe(2);
  });

  it(
    'Button click trigger store dispatch',
    fakeAsync(() => {
      callNgOnInit({ isSlowMotion: true, isPlaying: false, isRepeating: true, currentTime: 0 });

      const slowMotionClickEvent = { stopPropagation: () => {} };
      const repeatingClickEvent = { stopPropagation: () => {} };

      spyOn(store, 'dispatch');
      spyOn(slowMotionClickEvent, 'stopPropagation');
      spyOn(repeatingClickEvent, 'stopPropagation');

      const slowMotionButton = fixture.debugElement.query(By.css('button.slow-motion-button'));
      slowMotionButton.triggerEventHandler('click', slowMotionClickEvent);
      expect(store.dispatch).toHaveBeenCalled();
      expect(slowMotionClickEvent.stopPropagation).toHaveBeenCalled();

      const repeatingButton = fixture.debugElement.query(By.css('button.repeating-button'));
      repeatingButton.triggerEventHandler('click', repeatingClickEvent);
      expect(store.dispatch).toHaveBeenCalled();
      expect(repeatingClickEvent.stopPropagation).toHaveBeenCalled();
    }),
  );
});
開發者ID:arpitsaan,項目名稱:ShapeShifter,代碼行數:71,代碼來源:playback.component.spec.ts

示例4: callNgOnInit

 function callNgOnInit(layers?: LayerState) {
   if (layers) {
     store.setLayerState(layers);
   }
   component.layer = store.getState().present.layers.vectorLayer;
   component.ngOnInit();
   fixture.detectChanges();
 }
開發者ID:arpitsaan,項目名稱:ShapeShifter,代碼行數:8,代碼來源:layerlisttree.component.spec.ts

示例5: callNgOnInit

 function callNgOnInit(playback?: PlaybackState) {
   if (playback) {
     store.setPlaybackState(playback);
   }
   component.ngOnInit();
   fixture.detectChanges();
 }
開發者ID:arpitsaan,項目名稱:ShapeShifter,代碼行數:7,代碼來源:playback.component.spec.ts


注:本文中的test/MockStore.MockStore類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。