mgr/dashboard: fix nfs toggle test

Fixes: https://tracker.ceph.com/issues/75986
Signed-off-by: Syed Ali Ul Hasan <syedaliulhasan19@gmail.com>
This commit is contained in:
Syed Ali Ul Hasan 2026-07-14 15:41:43 +05:30
parent 8d446a82e1
commit 6db9394d1a
3 changed files with 19 additions and 9 deletions

View File

@ -90,7 +90,6 @@
formControlName="mirrorImageSnapshot"
name="mirrorImageSnapshot"
(checkedChange)="onMirrorCheckBoxChange()"
[attr.disabled]="!peerConfigured.length > 0 ? true : null"
i18n
>Mirror Image Snapshot
</cds-checkbox>

View File

@ -77,12 +77,14 @@ describe('RbdSnapshotFormModalComponent', () => {
// TODO: Fix this test. It is failing after updating the jest.
// It looks like it is not recognizing if radio button is disabled or not
// it('should disable the mirror image snapshot creation when peer is not configured', () => {
// spyOn(rbdMirrorService, 'getPeerForPool').and.returnValue(of([]));
// component.mirroring = 'snapshot';
// component.ngOnInit();
// fixture.detectChanges();
// const radio = fixture.debugElement.nativeElement.querySelector('#mirrorImageSnapshot');
// expect(radio.disabled).toBe(true);
// });
it('should disable the mirror image snapshot creation when peer is not configured', () => {
spyOn(rbdMirrorService, 'getPeerForPool').and.returnValue(of([]));
component.mirroring = 'snapshot';
component.ngOnInit();
fixture.detectChanges();
const checkboxElement =
fixture.debugElement.nativeElement.querySelector('#mirrorImageSnapshot');
const input = checkboxElement.querySelector('input');
expect(input.disabled).toBe(true);
});
});

View File

@ -62,6 +62,15 @@ export class RbdSnapshotFormModalComponent extends BaseModal implements OnInit {
ngOnInit(): void {
this.peerConfigured$ = this.rbdMirrorService.getPeerForPool(this.poolName);
this.peerConfigured$.subscribe((peers) => {
const control = this.snapshotForm.get('mirrorImageSnapshot');
if (peers && peers.length > 0) {
control.enable();
} else {
control.disable();
}
});
}
setSnapName(snapName: string) {