]> git.apps.os.sepia.ceph.com Git - ceph.git/blob
7b203eb9ccaaa52334b6e4c63ead7580a0a0fa91
[ceph.git] /
1 import { HttpClientTestingModule } from '@angular/common/http/testing';
2 import { ComponentFixture, TestBed } from '@angular/core/testing';
3 import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
4
5 import { NgbNavModule } from '@ng-bootstrap/ng-bootstrap';
6
7 import { SharedModule } from '~/app/shared/shared.module';
8 import { configureTestBed } from '~/testing/unit-test-helper';
9 import { RgwUserDetailsComponent } from './rgw-user-details.component';
10
11 describe('RgwUserDetailsComponent', () => {
12   let component: RgwUserDetailsComponent;
13   let fixture: ComponentFixture<RgwUserDetailsComponent>;
14
15   configureTestBed({
16     declarations: [RgwUserDetailsComponent],
17     imports: [BrowserAnimationsModule, HttpClientTestingModule, SharedModule, NgbNavModule]
18   });
19
20   beforeEach(() => {
21     fixture = TestBed.createComponent(RgwUserDetailsComponent);
22     component = fixture.componentInstance;
23     component.selection = {};
24     fixture.detectChanges();
25   });
26
27   it('should create', () => {
28     expect(component).toBeTruthy();
29   });
30
31   it('should show correct "System" info', () => {
32     component.selection = { uid: '', email: '', system: 'true', keys: [], swift_keys: [] };
33
34     component.ngOnChanges();
35     fixture.detectChanges();
36
37     const detailsTab = fixture.debugElement.nativeElement.querySelectorAll(
38       '.table.table-striped.table-bordered tr td'
39     );
40     expect(detailsTab[10].textContent).toEqual('System');
41     expect(detailsTab[11].textContent).toEqual('Yes');
42
43     component.selection.system = 'false';
44     component.ngOnChanges();
45     fixture.detectChanges();
46
47     expect(detailsTab[11].textContent).toEqual('No');
48   });
49
50   it('should show mfa ids only if length > 0', () => {
51     component.selection = {
52       uid: 'dashboard',
53       email: '',
54       system: 'true',
55       keys: [],
56       swift_keys: [],
57       mfa_ids: ['testMFA1', 'testMFA2']
58     };
59
60     component.ngOnChanges();
61     fixture.detectChanges();
62
63     const detailsTab = fixture.debugElement.nativeElement.querySelectorAll(
64       '.table.table-striped.table-bordered tr td'
65     );
66     expect(detailsTab[14].textContent).toEqual('MFAs(Id)');
67     expect(detailsTab[15].textContent).toEqual('testMFA1, testMFA2');
68   });
69 });