From 69ba0865a821af86698aeb27a31a4480d8c713dc Mon Sep 17 00:00:00 2001 From: lotte Date: Tue, 31 Mar 2020 13:50:12 +0200 Subject: [PATCH] fixed test files + added clean for environment.ts + fixed set-env script bug --- package.json | 7 +++-- scripts/set-env.ts | 7 +++-- .../item-version-history.component.spec.ts | 2 +- src/app/core/auth/auth.effects.spec.ts | 3 +-- src/app/core/auth/auth.reducer.spec.ts | 2 +- .../data/version-history-data.service.spec.ts | 6 ++--- .../item-versions.component.spec.ts | 3 ++- .../item-versions-notice.component.spec.ts | 3 ++- .../log-in-container.component.spec.ts | 4 +-- .../shared/log-in/log-in.component.spec.ts | 13 +++++++--- .../log-in-password.component.spec.ts | 4 +-- .../log-in-shibboleth.component.spec.ts | 26 +++++++++++-------- .../link-menu-item.component.spec.ts | 5 ++-- src/config/global-config.interface.ts | 2 +- tslint.json | 5 ++++ 15 files changed, 54 insertions(+), 38 deletions(-) diff --git a/package.json b/package.json index 8a7dace432..965d0b11a0 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,6 @@ "pretest:headless": "yarn run config:test", "prebuild:prod": "yarn run config:prod", "pree2e": "yarn run config:prod", - "pree2e:travis": "yarn run config:travis", "start": "yarn run start:prod", "serve": "ng serve", "start:dev": "npm-run-all --parallel config:dev:watch serve", @@ -26,10 +25,9 @@ "test:headless": "node --max_old_space_size=8192 node_modules/@angular/cli/bin/ng test --watch=false --sourceMap=true --browsers=ChromeHeadless --code-coverage", "lint": "ng lint", "e2e": "ng e2e", - "e2e:travis": "ng e2e", "compile:server": "webpack --config webpack.server.config.js --progress --colors", "serve:ssr": "node dist/server", - "ci": "ng lint && yarn run build:prod && yarn test:headless && yarn run e2e:travis", + "ci": "ng lint && yarn run build:prod && yarn test:headless && yarn run e2e", "clean:coverage": "rimraf coverage", "clean:dist": "rimraf dist", "clean:doc": "rimraf doc", @@ -38,7 +36,8 @@ "clean:bld": "rimraf build", "clean:node": "rimraf node_modules", "clean:prod": "yarn run clean:coverage && yarn run clean:doc && yarn run clean:dist && yarn run clean:log && yarn run clean:json && yarn run clean:bld", - "clean": "yarn run clean:prod && yarn run clean:node" + "clean": "yarn run clean:prod && yarn run clean:node && yarn run clean:env", + "clean:env": "rimraf src/environments/environment.ts" }, "browser": { "fs": false, diff --git a/scripts/set-env.ts b/scripts/set-env.ts index 00e7cc1e22..fe9e469156 100644 --- a/scripts/set-env.ts +++ b/scripts/set-env.ts @@ -45,8 +45,11 @@ const processEnv = { } as GlobalConfig; import(environmentFilePath) - .then((file) => generateEnvironmentFile(merge.all(commonEnv, file.environment, processEnv))) - .catch(() => generateEnvironmentFile(merge(commonEnv, processEnv))); + .then((file) => generateEnvironmentFile(merge.all([commonEnv, file.environment, processEnv]))) + .catch(() => { + console.log(colors.orange.bold(`No specific environment file found for ` + environment)); + generateEnvironmentFile(merge(commonEnv, processEnv)) + }); function generateEnvironmentFile(file: GlobalConfig): void { file.production = production; diff --git a/src/app/+item-page/edit-item-page/item-version-history/item-version-history.component.spec.ts b/src/app/+item-page/edit-item-page/item-version-history/item-version-history.component.spec.ts index 9bc39649f4..60419f92f4 100644 --- a/src/app/+item-page/edit-item-page/item-version-history/item-version-history.component.spec.ts +++ b/src/app/+item-page/edit-item-page/item-version-history/item-version-history.component.spec.ts @@ -7,7 +7,7 @@ import { NO_ERRORS_SCHEMA } from '@angular/core'; import { Item } from '../../../core/shared/item.model'; import { ActivatedRoute } from '@angular/router'; import { of as observableOf } from 'rxjs'; -import { createSuccessfulRemoteDataObject } from '../../../shared/testing/utils'; +import { createSuccessfulRemoteDataObject } from '../../../shared/remote-data.utils'; describe('ItemVersionHistoryComponent', () => { let component: ItemVersionHistoryComponent; diff --git a/src/app/core/auth/auth.effects.spec.ts b/src/app/core/auth/auth.effects.spec.ts index 194a51e31e..e231857159 100644 --- a/src/app/core/auth/auth.effects.spec.ts +++ b/src/app/core/auth/auth.effects.spec.ts @@ -31,9 +31,8 @@ import { authMethodsMock, AuthServiceStub } from '../../shared/testing/auth-serv import { AuthService } from './auth.service'; import { AuthState } from './auth.reducer'; -import { EPersonMock } from '../../shared/testing/eperson.mock'; -import { EPersonMock } from '../../shared/testing/eperson-mock'; import { AuthStatus } from './models/auth-status.model'; +import { EPersonMock } from '../../shared/testing/eperson.mock'; describe('AuthEffects', () => { let authEffects: AuthEffects; diff --git a/src/app/core/auth/auth.reducer.spec.ts b/src/app/core/auth/auth.reducer.spec.ts index 7a39ef3da4..1606ed9185 100644 --- a/src/app/core/auth/auth.reducer.spec.ts +++ b/src/app/core/auth/auth.reducer.spec.ts @@ -26,7 +26,7 @@ import { SetRedirectUrlAction } from './auth.actions'; import { AuthTokenInfo } from './models/auth-token-info.model'; -import { EPersonMock } from '../../shared/testing/eperson-mock'; +import { EPersonMock } from '../../shared/testing/eperson.mock'; import { AuthStatus } from './models/auth-status.model'; import { AuthMethod } from './models/auth.method'; import { AuthMethodType } from './models/auth.method-type'; diff --git a/src/app/core/data/version-history-data.service.spec.ts b/src/app/core/data/version-history-data.service.spec.ts index 6728df71f1..1a9c402482 100644 --- a/src/app/core/data/version-history-data.service.spec.ts +++ b/src/app/core/data/version-history-data.service.spec.ts @@ -2,9 +2,9 @@ import { RequestService } from './request.service'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { ObjectCacheService } from '../cache/object-cache.service'; import { VersionHistoryDataService } from './version-history-data.service'; -import { NotificationsServiceStub } from '../../shared/testing/notifications-service-stub'; -import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service-stub'; -import { getMockRequestService } from '../../shared/mocks/mock-request.service'; +import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub'; +import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub'; +import { getMockRequestService } from '../../shared/mocks/request.service.mock'; import { GetRequest } from './request.models'; const url = 'fake-url'; diff --git a/src/app/shared/item/item-versions/item-versions.component.spec.ts b/src/app/shared/item/item-versions/item-versions.component.spec.ts index 18fa4cf983..3ffbb3824a 100644 --- a/src/app/shared/item/item-versions/item-versions.component.spec.ts +++ b/src/app/shared/item/item-versions/item-versions.component.spec.ts @@ -7,9 +7,10 @@ import { NO_ERRORS_SCHEMA } from '@angular/core'; import { Item } from '../../../core/shared/item.model'; import { Version } from '../../../core/shared/version.model'; import { VersionHistory } from '../../../core/shared/version-history.model'; -import { createPaginatedList, createSuccessfulRemoteDataObject$ } from '../../testing/utils'; import { VersionHistoryDataService } from '../../../core/data/version-history-data.service'; import { By } from '@angular/platform-browser'; +import { createSuccessfulRemoteDataObject$ } from '../../remote-data.utils'; +import { createPaginatedList } from '../../testing/utils.test'; describe('ItemVersionsComponent', () => { let component: ItemVersionsComponent; diff --git a/src/app/shared/item/item-versions/notice/item-versions-notice.component.spec.ts b/src/app/shared/item/item-versions/notice/item-versions-notice.component.spec.ts index ffcd1d897e..f00dee2853 100644 --- a/src/app/shared/item/item-versions/notice/item-versions-notice.component.spec.ts +++ b/src/app/shared/item/item-versions/notice/item-versions-notice.component.spec.ts @@ -5,10 +5,11 @@ import { RouterTestingModule } from '@angular/router/testing'; import { NO_ERRORS_SCHEMA } from '@angular/core'; import { VersionHistory } from '../../../../core/shared/version-history.model'; import { Version } from '../../../../core/shared/version.model'; -import { createPaginatedList, createSuccessfulRemoteDataObject$ } from '../../../testing/utils'; import { Item } from '../../../../core/shared/item.model'; import { VersionHistoryDataService } from '../../../../core/data/version-history-data.service'; import { By } from '@angular/platform-browser'; +import { createSuccessfulRemoteDataObject$ } from '../../../remote-data.utils'; +import { createPaginatedList } from '../../../testing/utils.test'; describe('ItemVersionsNoticeComponent', () => { let component: ItemVersionsNoticeComponent; diff --git a/src/app/shared/log-in/container/log-in-container.component.spec.ts b/src/app/shared/log-in/container/log-in-container.component.spec.ts index c819b0cc8d..41673cc773 100644 --- a/src/app/shared/log-in/container/log-in-container.component.spec.ts +++ b/src/app/shared/log-in/container/log-in-container.component.spec.ts @@ -8,10 +8,10 @@ import { TranslateModule } from '@ngx-translate/core'; import { LogInContainerComponent } from './log-in-container.component'; import { authReducer } from '../../../core/auth/auth.reducer'; import { SharedModule } from '../../shared.module'; -import { createTestComponent } from '../../testing/utils'; import { AuthService } from '../../../core/auth/auth.service'; import { AuthMethod } from '../../../core/auth/models/auth.method'; -import { AuthServiceStub } from '../../testing/auth-service-stub'; +import { AuthServiceStub } from '../../testing/auth-service.stub'; +import { createTestComponent } from '../../testing/utils.test'; describe('LogInContainerComponent', () => { diff --git a/src/app/shared/log-in/log-in.component.spec.ts b/src/app/shared/log-in/log-in.component.spec.ts index fdf1bec574..0167d61686 100644 --- a/src/app/shared/log-in/log-in.component.spec.ts +++ b/src/app/shared/log-in/log-in.component.spec.ts @@ -5,14 +5,19 @@ import { Store, StoreModule } from '@ngrx/store'; import { LogInComponent } from './log-in.component'; import { authReducer } from '../../core/auth/auth.reducer'; -import { EPersonMock } from '../testing/eperson.mock'; -import { EPerson } from '../../core/eperson/models/eperson.model'; import { TranslateModule } from '@ngx-translate/core'; -import { LogInComponent } from './log-in.component'; import { AuthService } from '../../core/auth/auth.service'; import { authMethodsMock, AuthServiceStub } from '../testing/auth-service.stub'; -import { AppState, storeModuleConfig } from '../../app.reducer'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { SharedModule } from '../shared.module'; +import { NativeWindowMockFactory } from '../mocks/mock-native-window-ref'; +import { ActivatedRouteStub } from '../testing/active-router.stub'; +import { ActivatedRoute, Router } from '@angular/router'; +import { RouterStub } from '../testing/router.stub'; +import { NativeWindowService } from '../../core/services/window.service'; +import { provideMockStore } from '@ngrx/store/testing'; +import { createTestComponent } from '../testing/utils.test'; describe('LogInComponent', () => { diff --git a/src/app/shared/log-in/methods/password/log-in-password.component.spec.ts b/src/app/shared/log-in/methods/password/log-in-password.component.spec.ts index ff65a240c8..68c939d1bc 100644 --- a/src/app/shared/log-in/methods/password/log-in-password.component.spec.ts +++ b/src/app/shared/log-in/methods/password/log-in-password.component.spec.ts @@ -8,10 +8,10 @@ import { TranslateModule } from '@ngx-translate/core'; import { LogInPasswordComponent } from './log-in-password.component'; import { EPerson } from '../../../../core/eperson/models/eperson.model'; -import { EPersonMock } from '../../../testing/eperson-mock'; +import { EPersonMock } from '../../../testing/eperson.mock'; import { authReducer } from '../../../../core/auth/auth.reducer'; import { AuthService } from '../../../../core/auth/auth.service'; -import { AuthServiceStub } from '../../../testing/auth-service-stub'; +import { AuthServiceStub } from '../../../testing/auth-service.stub'; import { AppState } from '../../../../app.reducer'; import { AuthMethod } from '../../../../core/auth/models/auth.method'; import { AuthMethodType } from '../../../../core/auth/models/auth.method-type'; diff --git a/src/app/shared/log-in/methods/shibboleth/log-in-shibboleth.component.spec.ts b/src/app/shared/log-in/methods/shibboleth/log-in-shibboleth.component.spec.ts index 29723d0f65..7c1e782ee0 100644 --- a/src/app/shared/log-in/methods/shibboleth/log-in-shibboleth.component.spec.ts +++ b/src/app/shared/log-in/methods/shibboleth/log-in-shibboleth.component.spec.ts @@ -5,17 +5,17 @@ import { Store, StoreModule } from '@ngrx/store'; import { TranslateModule } from '@ngx-translate/core'; import { EPerson } from '../../../../core/eperson/models/eperson.model'; -import { EPersonMock } from '../../../testing/eperson-mock'; +import { EPersonMock } from '../../../testing/eperson.mock'; import { authReducer } from '../../../../core/auth/auth.reducer'; import { AuthService } from '../../../../core/auth/auth.service'; -import { AuthServiceStub } from '../../../testing/auth-service-stub'; +import { AuthServiceStub } from '../../../testing/auth-service.stub'; import { AppState } from '../../../../app.reducer'; import { AuthMethod } from '../../../../core/auth/models/auth.method'; import { AuthMethodType } from '../../../../core/auth/models/auth.method-type'; import { LogInShibbolethComponent } from './log-in-shibboleth.component'; import { NativeWindowService } from '../../../../core/services/window.service'; -import { RouterStub } from '../../../testing/router-stub'; -import { ActivatedRouteStub } from '../../../testing/active-router-stub'; +import { RouterStub } from '../../../testing/router.stub'; +import { ActivatedRouteStub } from '../../../testing/active-router.stub'; import { NativeWindowMockFactory } from '../../../mocks/mock-native-window-ref'; describe('LogInShibbolethComponent', () => { @@ -26,17 +26,21 @@ describe('LogInShibbolethComponent', () => { let user: EPerson; let componentAsAny: any; let setHrefSpy; - const shibbolethBaseUrl = 'dspace-rest.test/shibboleth?redirectUrl='; - const location = shibbolethBaseUrl + 'http://dspace-angular.test/home'; + let shibbolethBaseUrl; + let location; - const authState = { - authenticated: false, - loaded: false, - loading: false, - }; + let authState; beforeEach(() => { user = EPersonMock; + shibbolethBaseUrl = 'dspace-rest.test/shibboleth?redirectUrl='; + location = shibbolethBaseUrl + 'http://dspace-angular.test/home'; + + authState = { + authenticated: false, + loaded: false, + loading: false, + }; }); beforeEach(async(() => { diff --git a/src/app/shared/menu/menu-item/link-menu-item.component.spec.ts b/src/app/shared/menu/menu-item/link-menu-item.component.spec.ts index f19b3617d4..d20773165f 100644 --- a/src/app/shared/menu/menu-item/link-menu-item.component.spec.ts +++ b/src/app/shared/menu/menu-item/link-menu-item.component.spec.ts @@ -4,6 +4,7 @@ import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core'; import { By } from '@angular/platform-browser'; import { LinkMenuItemComponent } from './link-menu-item.component'; import { RouterLinkDirectiveStub } from '../../testing/router-link-directive.stub'; +import { environment } from '../../../../environments/environment'; describe('LinkMenuItemComponent', () => { let component: LinkMenuItemComponent; @@ -11,12 +12,10 @@ describe('LinkMenuItemComponent', () => { let debugElement: DebugElement; let text; let link; - let nameSpace; function init() { text = 'HELLO'; link = 'http://google.com'; - nameSpace = '/angular-dspace'; } beforeEach(async(() => { init(); @@ -52,6 +51,6 @@ describe('LinkMenuItemComponent', () => { const routerLinkQuery = linkDes.map((de) => de.injector.get(RouterLinkDirectiveStub)); expect(routerLinkQuery.length).toBe(1); - expect(routerLinkQuery[0].routerLink).toBe(nameSpace + link); + expect(routerLinkQuery[0].routerLink).toBe(environment.ui.nameSpace + link); }); }); diff --git a/src/config/global-config.interface.ts b/src/config/global-config.interface.ts index a368e850c2..acef3404eb 100644 --- a/src/config/global-config.interface.ts +++ b/src/config/global-config.interface.ts @@ -17,7 +17,7 @@ export interface GlobalConfig extends Config { rest: ServerConfig; production: boolean; cache: CacheConfig; - auth: AuthConfig; + auth?: AuthConfig; form: FormConfig; notifications: INotificationBoardOptions; submission: SubmissionConfig; diff --git a/tslint.json b/tslint.json index 9014a306b2..e5f6967303 100644 --- a/tslint.json +++ b/tslint.json @@ -2,6 +2,11 @@ "extends": [ "tslint:recommended" ], + "linterOptions": { + "exclude": [ + "src/environments/environment.ts" + ] + }, "rulesDirectory": [ "node_modules/codelyzer" ],