All files / tools/ReFlex.TrackingServer/ClientApp/src/app/tracking tracking.component.test-context.ts

100% Statements 35/35
100% Branches 3/3
100% Functions 5/5
100% Lines 34/34

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 1051x                         1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x               5x   9x 9x                                                                                     5x 9x 9x     5x 9x 9x   9x 9x 9x 9x 9x 9x 9x 9x   9x   9x        
import { CommonModule } from '@angular/common';
import {
  provideHttpClient,
  withInterceptorsFromDi,
  withXhr
} from '@angular/common/http';
import { provideHttpClientTesting } from '@angular/common/http/testing';
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { FormsModule } from '@angular/forms';
import {
  MockPanelHeaderComponent,
  PanelHeaderComponent
} from '@reflex/angular-components/dist';
import { SettingsService } from 'src/shared/services/settingsService';
import { TrackingService } from 'src/shared/services/tracking.service';
import { BASE_URL } from 'src/shared/tokens/base-url.token';
import { LogService } from '../log/log.service';
import { SettingsComponent } from '../settings/settings.component';
import { MockSettingsComponent } from '../settings/settings.component.mock';
import { DepthImageComponent } from './depth-image/depth-image.component';
import { MockDepthImageComponent } from './depth-image/depth-image.component.mock';
import { PointCloudComponent } from './point-cloud/point-cloud.component';
import { MockPointCloudComponent } from './point-cloud/point-cloud.component.mock';
import { RecordingComponent } from './recording/recording.component';
import { MockRecordingComponent } from './recording/recording.component.mock';
import { TrackingComponent } from './tracking.component';
import { logService, settingsService, trackingService, trackingServiceError } from './tracking.component.test-data';
 
export let component: TrackingComponent;
 
export let fixture: ComponentFixture<TrackingComponent>;
 
// Error suites exercise the same component setup with failing service responses.
export function setupTests(mode: 'success' | 'error' = 'success'): void {
  const serviceMock = mode === 'error' ? trackingServiceError : trackingService;
 
  beforeEach(async () => {
    await TestBed.configureTestingModule({
      imports: [CommonModule, FormsModule, TrackingComponent],
      providers: [
        { provide: BASE_URL, useValue: 'http://localhost/' },
        {
          provide: TrackingService,
          useValue: serviceMock
        },
        {
          provide: SettingsService,
          useValue: settingsService
        },
        {
          provide: LogService,
          useValue: logService
        },
        provideHttpClient(withXhr(), withInterceptorsFromDi()),
        provideHttpClientTesting()
      ]
    })
      .overrideComponent(TrackingComponent, {
        remove: {
          imports: [
            PanelHeaderComponent,
            RecordingComponent,
            SettingsComponent,
            PointCloudComponent,
            DepthImageComponent
          ]
        },
        add: {
          imports: [
            MockPanelHeaderComponent,
            MockRecordingComponent,
            MockSettingsComponent,
            MockPointCloudComponent,
            MockDepthImageComponent
          ]
        }
      })
      .compileComponents();
  });
 
  beforeEach(() => {
    fixture = TestBed.createComponent(TrackingComponent);
    component = fixture.componentInstance;
  });
 
  afterEach(() => {
    fixture.destroy();
    TestBed.resetTestingModule();
 
    serviceMock.getStatus.mockClear();
    serviceMock.getCameras.mockClear();
    serviceMock.queryAutostartEnabled.mockClear();
    serviceMock.getSelectedCamera.mockClear();
    serviceMock.getConfigurationsForCamera.mockClear();
    serviceMock.getSelectedCameraConfig.mockClear();
    serviceMock.toggleCamera.mockClear();
    serviceMock.setAutostartEnabled.mockClear();
 
    settingsService.update.mockClear();
 
    logService.sendErrorLog.mockClear();
  });
 
}