c3b2eb2b4f
* Generate a UUIDv5 from a random namespace based on WWN, model name, and serial number * Migrate sqlite and influxdb data accordingly * Update frontend API routes and components * Fixes #923
65 lines
2.7 KiB
TypeScript
65 lines
2.7 KiB
TypeScript
import {async, ComponentFixture, TestBed} from '@angular/core/testing';
|
|
|
|
import {DashboardDeviceArchiveDialogComponent} from './dashboard-device-archive-dialog.component';
|
|
import {HttpClientModule} from '@angular/common/http';
|
|
import {MAT_DIALOG_DATA, MatDialogModule, MatDialogRef} from '@angular/material/dialog';
|
|
import {MatButtonModule} from '@angular/material/button';
|
|
import {MatIconModule} from '@angular/material/icon';
|
|
import {SharedModule} from '../../../shared/shared.module';
|
|
import {DashboardDeviceArchiveDialogService} from './dashboard-device-archive-dialog.service';
|
|
import {of} from 'rxjs';
|
|
|
|
|
|
describe('DashboardDeviceArchiveDialogComponent', () => {
|
|
let component: DashboardDeviceArchiveDialogComponent;
|
|
let fixture: ComponentFixture<DashboardDeviceArchiveDialogComponent>;
|
|
|
|
const matDialogRefSpy = jasmine.createSpyObj('MatDialogRef', ['closeDialog', 'close']);
|
|
const dashboardDeviceArchiveDialogServiceSpy = jasmine.createSpyObj('DashboardDeviceArchiveDialogService', ['archiveDevice']);
|
|
|
|
beforeEach(async(() => {
|
|
TestBed.configureTestingModule({
|
|
imports: [
|
|
HttpClientModule,
|
|
MatDialogModule,
|
|
MatButtonModule,
|
|
MatIconModule,
|
|
SharedModule,
|
|
],
|
|
providers: [
|
|
{provide: MatDialogRef, useValue: matDialogRefSpy},
|
|
{provide: MAT_DIALOG_DATA, useValue: {scrutiny_uuid: 'ecfaaf20-d1f6-558b-b33a-3e8db19a6c2c', title: 'my-test-device-title'}},
|
|
{provide: DashboardDeviceArchiveDialogService, useValue: dashboardDeviceArchiveDialogServiceSpy}
|
|
],
|
|
declarations: [DashboardDeviceArchiveDialogComponent]
|
|
})
|
|
.compileComponents()
|
|
}));
|
|
|
|
beforeEach(() => {
|
|
fixture = TestBed.createComponent(DashboardDeviceArchiveDialogComponent);
|
|
component = fixture.componentInstance;
|
|
fixture.detectChanges();
|
|
});
|
|
|
|
it('should create', () => {
|
|
expect(component).toBeTruthy();
|
|
});
|
|
|
|
it('should close the component if cancel is clicked', () => {
|
|
matDialogRefSpy.closeDialog.calls.reset();
|
|
matDialogRefSpy.closeDialog()
|
|
expect(matDialogRefSpy.closeDialog).toHaveBeenCalled();
|
|
});
|
|
|
|
it('should attempt to archive device if archive is clicked', () => {
|
|
dashboardDeviceArchiveDialogServiceSpy.archiveDevice.and.returnValue(of({'success': true}));
|
|
|
|
component.onArchiveClick()
|
|
expect(dashboardDeviceArchiveDialogServiceSpy.archiveDevice).toHaveBeenCalledWith('ecfaaf20-d1f6-558b-b33a-3e8db19a6c2c');
|
|
expect(dashboardDeviceArchiveDialogServiceSpy.archiveDevice.calls.count())
|
|
.withContext('one call')
|
|
.toBe(1);
|
|
});
|
|
});
|