diff --git a/e2e/protractor.excludes.json b/e2e/protractor.excludes.json index 7763a42b56..3daace9b6b 100644 --- a/e2e/protractor.excludes.json +++ b/e2e/protractor.excludes.json @@ -1,6 +1,4 @@ { - "C362240": "Include once ADF starts using ACS 7 , https://issues.alfresco.com/jira/browse/ADF-5182", - "C362241": "Include once ADF starts using ACS 7, https://issues.alfresco.com/jira/browse/ADF-5182", "C277751": "setting problem APS not basic", "C277752": "setting problem APS not basic", "C277753": "setting problem APS not basic", diff --git a/lib/core/services/version-compatibility.service.spec.ts b/lib/core/services/version-compatibility.service.spec.ts index c05fd3f69a..7ea2ca41c3 100644 --- a/lib/core/services/version-compatibility.service.spec.ts +++ b/lib/core/services/version-compatibility.service.spec.ts @@ -16,21 +16,18 @@ */ import { TestBed } from '@angular/core/testing'; -import { AppConfigService } from '../app-config/app-config.service'; import { DiscoveryApiService } from './discovery-api.service'; import { setupTestBed } from '../testing/setup-test-bed'; import { CoreTestingModule } from '../testing/core.testing.module'; -import { AlfrescoApiServiceMock } from '../mock/alfresco-api.service.mock'; import { VersionCompatibilityService } from './version-compatibility.service'; -import { of } from 'rxjs'; +import { BehaviorSubject } from 'rxjs'; import { TranslateModule } from '@ngx-translate/core'; -import { AuthenticationService } from './authentication.service'; +import { EcmProductVersionModel } from './../models/product-version.model'; describe('VersionCompatibilityService', () => { let versionCompatibilityService: VersionCompatibilityService; - let alfrescoApiService: AlfrescoApiServiceMock; let discoveryApiService: DiscoveryApiService; - let authenticationService: AuthenticationService; + const mockProductInfo = new BehaviorSubject(null); const acsResponceMock = { version: { @@ -45,22 +42,22 @@ describe('VersionCompatibilityService', () => { imports: [ TranslateModule.forRoot(), CoreTestingModule + ], + providers: [ + { + provide: DiscoveryApiService, + useValue: { + ecmProductInfo$: mockProductInfo + } + } ] }); beforeEach(async () => { discoveryApiService = TestBed.inject(DiscoveryApiService); - authenticationService = TestBed.inject(AuthenticationService); - spyOn(discoveryApiService, 'getEcmProductInfo').and.returnValue(of(acsResponceMock)); - spyOn(authenticationService, 'isEcmLoggedIn').and.returnValue(true); versionCompatibilityService = TestBed.inject(VersionCompatibilityService); - alfrescoApiService = new AlfrescoApiServiceMock(new AppConfigService(null), null); - versionCompatibilityService = new VersionCompatibilityService( - alfrescoApiService, - authenticationService, - discoveryApiService - ); - await alfrescoApiService.initialize(); + mockProductInfo.next(acsResponceMock as EcmProductVersionModel); + versionCompatibilityService = new VersionCompatibilityService(discoveryApiService); }); it('should get ACS running version', () => { diff --git a/lib/core/services/version-compatibility.service.ts b/lib/core/services/version-compatibility.service.ts index c91463ce82..d795be5649 100644 --- a/lib/core/services/version-compatibility.service.ts +++ b/lib/core/services/version-compatibility.service.ts @@ -16,11 +16,9 @@ */ import { Injectable } from '@angular/core'; -import { AlfrescoApiService } from './alfresco-api.service'; -import { filter } from 'rxjs/operators'; import { DiscoveryApiService } from './discovery-api.service'; import { VersionModel, EcmProductVersionModel } from '../models/product-version.model'; -import { AuthenticationService } from './authentication.service'; +import { filter } from 'rxjs/operators'; @Injectable({ providedIn: 'root' @@ -28,23 +26,10 @@ import { AuthenticationService } from './authentication.service'; export class VersionCompatibilityService { private acsVersion: VersionModel; - constructor( - private alfrescoApiService: AlfrescoApiService, - private authService: AuthenticationService, - private discoveryApiService: DiscoveryApiService - ) { - this.alfrescoApiService.alfrescoApiInitialized - .pipe(filter(status => status)) - .subscribe(this.initCompatibilityVersion.bind(this)); - } - - private initCompatibilityVersion() { - if (this.authService.isEcmLoggedIn()) { - this.discoveryApiService.getEcmProductInfo().toPromise().then( - (acsInfo: EcmProductVersionModel) => { - this.acsVersion = acsInfo.version; - }); - } + constructor(private discoveryApiService: DiscoveryApiService) { + this.discoveryApiService.ecmProductInfo$ + .pipe(filter(acsInfo => !!acsInfo)) + .subscribe((acsInfo: EcmProductVersionModel) => this.acsVersion = acsInfo.version); } getAcsVersion(): VersionModel {