1 import { HttpClientTestingModule } from '@angular/common/http/testing';
2 import { ComponentFixture, TestBed } from '@angular/core/testing';
3 import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
5 import { NgbNavModule } from '@ng-bootstrap/ng-bootstrap';
7 import { SharedModule } from '~/app/shared/shared.module';
8 import { configureTestBed } from '~/testing/unit-test-helper';
9 import { RgwUserDetailsComponent } from './rgw-user-details.component';
11 describe('RgwUserDetailsComponent', () => {
12 let component: RgwUserDetailsComponent;
13 let fixture: ComponentFixture<RgwUserDetailsComponent>;
16 declarations: [RgwUserDetailsComponent],
17 imports: [BrowserAnimationsModule, HttpClientTestingModule, SharedModule, NgbNavModule]
21 fixture = TestBed.createComponent(RgwUserDetailsComponent);
22 component = fixture.componentInstance;
23 component.selection = {};
24 fixture.detectChanges();
27 it('should create', () => {
28 expect(component).toBeTruthy();
31 it('should show correct "System" info', () => {
32 component.selection = { uid: '', email: '', system: 'true', keys: [], swift_keys: [] };
34 component.ngOnChanges();
35 fixture.detectChanges();
37 const detailsTab = fixture.debugElement.nativeElement.querySelectorAll(
38 '.table.table-striped.table-bordered tr td'
40 expect(detailsTab[10].textContent).toEqual('System');
41 expect(detailsTab[11].textContent).toEqual('Yes');
43 component.selection.system = 'false';
44 component.ngOnChanges();
45 fixture.detectChanges();
47 expect(detailsTab[11].textContent).toEqual('No');
50 it('should show mfa ids only if length > 0', () => {
51 component.selection = {
57 mfa_ids: ['testMFA1', 'testMFA2']
60 component.ngOnChanges();
61 fixture.detectChanges();
63 const detailsTab = fixture.debugElement.nativeElement.querySelectorAll(
64 '.table.table-striped.table-bordered tr td'
66 expect(detailsTab[14].textContent).toEqual('MFAs(Id)');
67 expect(detailsTab[15].textContent).toEqual('testMFA1, testMFA2');