1 import { ComponentFixture, TestBed } from '@angular/core/testing';
2 import { FormControl, ReactiveFormsModule } from '@angular/forms';
3 import { RouterTestingModule } from '@angular/router/testing';
5 import { BsModalRef } from 'ngx-bootstrap/modal';
7 import { configureTestBed, i18nProviders } from '../../../../testing/unit-test-helper';
8 import { SharedModule } from '../../../shared/shared.module';
9 import { RgwUserSubuserModalComponent } from './rgw-user-subuser-modal.component';
11 describe('RgwUserSubuserModalComponent', () => {
12 let component: RgwUserSubuserModalComponent;
13 let fixture: ComponentFixture<RgwUserSubuserModalComponent>;
16 declarations: [RgwUserSubuserModalComponent],
17 imports: [ReactiveFormsModule, SharedModule, RouterTestingModule],
18 providers: [BsModalRef, i18nProviders]
22 fixture = TestBed.createComponent(RgwUserSubuserModalComponent);
23 component = fixture.componentInstance;
24 fixture.detectChanges();
27 it('should create', () => {
28 expect(component).toBeTruthy();
31 describe('subuserValidator', () => {
33 component.editing = false;
34 component.subusers = [
35 { id: 'Edith', permissions: 'full-control' },
36 { id: 'Edith:images', permissions: 'read-write' }
40 it('should validate subuser (1/5)', () => {
41 component.editing = true;
42 const validatorFn = component.subuserValidator();
43 const resp = validatorFn(new FormControl());
44 expect(resp).toBe(null);
47 it('should validate subuser (2/5)', () => {
48 const validatorFn = component.subuserValidator();
49 const resp = validatorFn(new FormControl(''));
50 expect(resp).toBe(null);
53 it('should validate subuser (3/5)', () => {
54 const validatorFn = component.subuserValidator();
55 const resp = validatorFn(new FormControl('Melissa'));
56 expect(resp).toBe(null);
59 it('should validate subuser (4/5)', () => {
60 const validatorFn = component.subuserValidator();
61 const resp = validatorFn(new FormControl('Edith'));
62 expect(resp.subuserIdExists).toBeTruthy();
65 it('should validate subuser (5/5)', () => {
66 const validatorFn = component.subuserValidator();
67 const resp = validatorFn(new FormControl('images'));
68 expect(resp.subuserIdExists).toBeTruthy();