1 import { HttpClientTestingModule } from '@angular/common/http/testing';
2 import { ComponentFixture, TestBed } from '@angular/core/testing';
3 import { ReactiveFormsModule } from '@angular/forms';
4 import { RouterTestingModule } from '@angular/router/testing';
6 import { ToastrModule } from 'ngx-toastr';
8 import { configureTestBed, i18nProviders } from '../../../../../testing/unit-test-helper';
9 import { LoadingPanelComponent } from '../../../../shared/components/loading-panel/loading-panel.component';
10 import { SharedModule } from '../../../../shared/shared.module';
11 import { MgrModuleFormComponent } from './mgr-module-form.component';
13 describe('MgrModuleFormComponent', () => {
14 let component: MgrModuleFormComponent;
15 let fixture: ComponentFixture<MgrModuleFormComponent>;
19 declarations: [MgrModuleFormComponent],
21 HttpClientTestingModule,
25 ToastrModule.forRoot()
27 providers: i18nProviders
29 [LoadingPanelComponent]
33 fixture = TestBed.createComponent(MgrModuleFormComponent);
34 component = fixture.componentInstance;
35 fixture.detectChanges();
38 it('should create', () => {
39 expect(component).toBeTruthy();
42 describe('getValidators', () => {
43 it('should return ip validator for type addr', () => {
44 const result = component.getValidators({ type: 'addr' });
45 expect(result.length).toBe(1);
48 it('should return number, required validators for types uint, int, size, secs', () => {
49 const types = ['uint', 'int', 'size', 'secs'];
50 types.forEach((type) => {
51 const result = component.getValidators({ type: type });
52 expect(result.length).toBe(2);
56 it('should return number, required, min validators for types uint, int, size, secs', () => {
57 const types = ['uint', 'int', 'size', 'secs'];
58 types.forEach((type) => {
59 const result = component.getValidators({ type: type, min: 2 });
60 expect(result.length).toBe(3);
64 it('should return number, required, min, max validators for types uint, int, size, secs', () => {
65 const types = ['uint', 'int', 'size', 'secs'];
66 types.forEach((type) => {
67 const result = component.getValidators({ type: type, min: 2, max: 5 });
68 expect(result.length).toBe(4);
72 it('should return required, decimalNumber validators for type float', () => {
73 const result = component.getValidators({ type: 'float' });
74 expect(result.length).toBe(2);
77 it('should return uuid validator for type uuid', () => {
78 const result = component.getValidators({ type: 'uuid' });
79 expect(result.length).toBe(1);
82 it('should return no validator for type str', () => {
83 const result = component.getValidators({ type: 'str' });
84 expect(result.length).toBe(0);
87 it('should return min validator for type str', () => {
88 const result = component.getValidators({ type: 'str', min: 1 });
89 expect(result.length).toBe(1);
92 it('should return min, max validators for type str', () => {
93 const result = component.getValidators({ type: 'str', min: 1, max: 127 });
94 expect(result.length).toBe(2);