diff --git a/src/portal/lib/src/list-replication-rule/list-replication-rule.component.ts b/src/portal/lib/src/list-replication-rule/list-replication-rule.component.ts index f593ff25a..91c8820c9 100644 --- a/src/portal/lib/src/list-replication-rule/list-replication-rule.component.ts +++ b/src/portal/lib/src/list-replication-rule/list-replication-rule.component.ts @@ -179,8 +179,10 @@ export class ListReplicationRuleComponent implements OnInit, OnChanges { } selectRule(rule: ReplicationRule): void { - this.selectedId = rule.id || ""; - this.selectOne.emit(rule); + if (rule) { + this.selectedId = rule.id || ""; + this.selectOne.emit(rule); + } } redirectTo(rule: ReplicationRule): void { diff --git a/src/portal/lib/src/project-policy-config/project-policy-config.component.spec.ts b/src/portal/lib/src/project-policy-config/project-policy-config.component.spec.ts index 4983c9f13..8b82c8e05 100644 --- a/src/portal/lib/src/project-policy-config/project-policy-config.component.spec.ts +++ b/src/portal/lib/src/project-policy-config/project-policy-config.component.spec.ts @@ -9,14 +9,17 @@ import { SERVICE_CONFIG, IServiceConfig} from '../service.config'; import { SystemInfo } from '../service/interface'; import { Project } from './project'; import { UserPermissionService, UserPermissionDefaultService } from '../service/permission.service'; +import { USERSTATICPERMISSION } from '../service/permission-static'; +import { of } from 'rxjs'; describe('ProjectPolicyConfigComponent', () => { let systemInfoService: SystemInfoService; let projectPolicyService: ProjectService; + let userPermissionService: UserPermissionService; let spySystemInfo: jasmine.Spy; let spyProjectPolicies: jasmine.Spy; - + let mockHasChangeConfigRole: boolean = true; let mockSystemInfo: SystemInfo[] = [ { 'with_clair': true, @@ -121,6 +124,11 @@ describe('ProjectPolicyConfigComponent', () => { spySystemInfo = spyOn(systemInfoService, 'getSystemInfo').and.returnValues(Promise.resolve(mockSystemInfo[0])); spyProjectPolicies = spyOn(projectPolicyService, 'getProject').and.returnValues(Promise.resolve(mockPorjectPolicies[0])); + userPermissionService = fixture.debugElement.injector.get(UserPermissionService); + spyOn(userPermissionService, "getPermission") + .withArgs(component.projectId, + USERSTATICPERMISSION.CONFIGURATION.KEY, USERSTATICPERMISSION.CONFIGURATION.VALUE.UPDATE ) + .and.returnValue(of(mockHasChangeConfigRole)); fixture.detectChanges(); }); diff --git a/src/portal/lib/src/repository-gridview/repository-gridview.component.html b/src/portal/lib/src/repository-gridview/repository-gridview.component.html index fc1fecde0..52f46561e 100644 --- a/src/portal/lib/src/repository-gridview/repository-gridview.component.html +++ b/src/portal/lib/src/repository-gridview/repository-gridview.component.html @@ -87,7 +87,7 @@