fixed test files + added clean for environment.ts + fixed set-env script bug

This commit is contained in:
lotte
2020-03-31 13:50:12 +02:00
parent 6b6068ffb8
commit 69ba0865a8
15 changed files with 54 additions and 38 deletions

View File

@@ -13,7 +13,6 @@
"pretest:headless": "yarn run config:test", "pretest:headless": "yarn run config:test",
"prebuild:prod": "yarn run config:prod", "prebuild:prod": "yarn run config:prod",
"pree2e": "yarn run config:prod", "pree2e": "yarn run config:prod",
"pree2e:travis": "yarn run config:travis",
"start": "yarn run start:prod", "start": "yarn run start:prod",
"serve": "ng serve", "serve": "ng serve",
"start:dev": "npm-run-all --parallel config:dev:watch 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", "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", "lint": "ng lint",
"e2e": "ng e2e", "e2e": "ng e2e",
"e2e:travis": "ng e2e",
"compile:server": "webpack --config webpack.server.config.js --progress --colors", "compile:server": "webpack --config webpack.server.config.js --progress --colors",
"serve:ssr": "node dist/server", "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:coverage": "rimraf coverage",
"clean:dist": "rimraf dist", "clean:dist": "rimraf dist",
"clean:doc": "rimraf doc", "clean:doc": "rimraf doc",
@@ -38,7 +36,8 @@
"clean:bld": "rimraf build", "clean:bld": "rimraf build",
"clean:node": "rimraf node_modules", "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: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": { "browser": {
"fs": false, "fs": false,

View File

@@ -45,8 +45,11 @@ const processEnv = {
} as GlobalConfig; } as GlobalConfig;
import(environmentFilePath) import(environmentFilePath)
.then((file) => generateEnvironmentFile(merge.all(commonEnv, file.environment, processEnv))) .then((file) => generateEnvironmentFile(merge.all([commonEnv, file.environment, processEnv])))
.catch(() => generateEnvironmentFile(merge(commonEnv, processEnv))); .catch(() => {
console.log(colors.orange.bold(`No specific environment file found for ` + environment));
generateEnvironmentFile(merge(commonEnv, processEnv))
});
function generateEnvironmentFile(file: GlobalConfig): void { function generateEnvironmentFile(file: GlobalConfig): void {
file.production = production; file.production = production;

View File

@@ -7,7 +7,7 @@ import { NO_ERRORS_SCHEMA } from '@angular/core';
import { Item } from '../../../core/shared/item.model'; import { Item } from '../../../core/shared/item.model';
import { ActivatedRoute } from '@angular/router'; import { ActivatedRoute } from '@angular/router';
import { of as observableOf } from 'rxjs'; import { of as observableOf } from 'rxjs';
import { createSuccessfulRemoteDataObject } from '../../../shared/testing/utils'; import { createSuccessfulRemoteDataObject } from '../../../shared/remote-data.utils';
describe('ItemVersionHistoryComponent', () => { describe('ItemVersionHistoryComponent', () => {
let component: ItemVersionHistoryComponent; let component: ItemVersionHistoryComponent;

View File

@@ -31,9 +31,8 @@ import { authMethodsMock, AuthServiceStub } from '../../shared/testing/auth-serv
import { AuthService } from './auth.service'; import { AuthService } from './auth.service';
import { AuthState } from './auth.reducer'; 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 { AuthStatus } from './models/auth-status.model';
import { EPersonMock } from '../../shared/testing/eperson.mock';
describe('AuthEffects', () => { describe('AuthEffects', () => {
let authEffects: AuthEffects; let authEffects: AuthEffects;

View File

@@ -26,7 +26,7 @@ import {
SetRedirectUrlAction SetRedirectUrlAction
} from './auth.actions'; } from './auth.actions';
import { AuthTokenInfo } from './models/auth-token-info.model'; 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 { AuthStatus } from './models/auth-status.model';
import { AuthMethod } from './models/auth.method'; import { AuthMethod } from './models/auth.method';
import { AuthMethodType } from './models/auth.method-type'; import { AuthMethodType } from './models/auth.method-type';

View File

@@ -2,9 +2,9 @@ import { RequestService } from './request.service';
import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service'; import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service';
import { ObjectCacheService } from '../cache/object-cache.service'; import { ObjectCacheService } from '../cache/object-cache.service';
import { VersionHistoryDataService } from './version-history-data.service'; import { VersionHistoryDataService } from './version-history-data.service';
import { NotificationsServiceStub } from '../../shared/testing/notifications-service-stub'; import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub';
import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service-stub'; import { HALEndpointServiceStub } from '../../shared/testing/hal-endpoint-service.stub';
import { getMockRequestService } from '../../shared/mocks/mock-request.service'; import { getMockRequestService } from '../../shared/mocks/request.service.mock';
import { GetRequest } from './request.models'; import { GetRequest } from './request.models';
const url = 'fake-url'; const url = 'fake-url';

View File

@@ -7,9 +7,10 @@ import { NO_ERRORS_SCHEMA } from '@angular/core';
import { Item } from '../../../core/shared/item.model'; import { Item } from '../../../core/shared/item.model';
import { Version } from '../../../core/shared/version.model'; import { Version } from '../../../core/shared/version.model';
import { VersionHistory } from '../../../core/shared/version-history.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 { VersionHistoryDataService } from '../../../core/data/version-history-data.service';
import { By } from '@angular/platform-browser'; import { By } from '@angular/platform-browser';
import { createSuccessfulRemoteDataObject$ } from '../../remote-data.utils';
import { createPaginatedList } from '../../testing/utils.test';
describe('ItemVersionsComponent', () => { describe('ItemVersionsComponent', () => {
let component: ItemVersionsComponent; let component: ItemVersionsComponent;

View File

@@ -5,10 +5,11 @@ import { RouterTestingModule } from '@angular/router/testing';
import { NO_ERRORS_SCHEMA } from '@angular/core'; import { NO_ERRORS_SCHEMA } from '@angular/core';
import { VersionHistory } from '../../../../core/shared/version-history.model'; import { VersionHistory } from '../../../../core/shared/version-history.model';
import { Version } from '../../../../core/shared/version.model'; import { Version } from '../../../../core/shared/version.model';
import { createPaginatedList, createSuccessfulRemoteDataObject$ } from '../../../testing/utils';
import { Item } from '../../../../core/shared/item.model'; import { Item } from '../../../../core/shared/item.model';
import { VersionHistoryDataService } from '../../../../core/data/version-history-data.service'; import { VersionHistoryDataService } from '../../../../core/data/version-history-data.service';
import { By } from '@angular/platform-browser'; import { By } from '@angular/platform-browser';
import { createSuccessfulRemoteDataObject$ } from '../../../remote-data.utils';
import { createPaginatedList } from '../../../testing/utils.test';
describe('ItemVersionsNoticeComponent', () => { describe('ItemVersionsNoticeComponent', () => {
let component: ItemVersionsNoticeComponent; let component: ItemVersionsNoticeComponent;

View File

@@ -8,10 +8,10 @@ import { TranslateModule } from '@ngx-translate/core';
import { LogInContainerComponent } from './log-in-container.component'; import { LogInContainerComponent } from './log-in-container.component';
import { authReducer } from '../../../core/auth/auth.reducer'; import { authReducer } from '../../../core/auth/auth.reducer';
import { SharedModule } from '../../shared.module'; import { SharedModule } from '../../shared.module';
import { createTestComponent } from '../../testing/utils';
import { AuthService } from '../../../core/auth/auth.service'; import { AuthService } from '../../../core/auth/auth.service';
import { AuthMethod } from '../../../core/auth/models/auth.method'; 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', () => { describe('LogInContainerComponent', () => {

View File

@@ -5,14 +5,19 @@ import { Store, StoreModule } from '@ngrx/store';
import { LogInComponent } from './log-in.component'; import { LogInComponent } from './log-in.component';
import { authReducer } from '../../core/auth/auth.reducer'; 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 { TranslateModule } from '@ngx-translate/core';
import { LogInComponent } from './log-in.component';
import { AuthService } from '../../core/auth/auth.service'; import { AuthService } from '../../core/auth/auth.service';
import { authMethodsMock, AuthServiceStub } from '../testing/auth-service.stub'; 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', () => { describe('LogInComponent', () => {

View File

@@ -8,10 +8,10 @@ import { TranslateModule } from '@ngx-translate/core';
import { LogInPasswordComponent } from './log-in-password.component'; import { LogInPasswordComponent } from './log-in-password.component';
import { EPerson } from '../../../../core/eperson/models/eperson.model'; 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 { authReducer } from '../../../../core/auth/auth.reducer';
import { AuthService } from '../../../../core/auth/auth.service'; 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 { AppState } from '../../../../app.reducer';
import { AuthMethod } from '../../../../core/auth/models/auth.method'; import { AuthMethod } from '../../../../core/auth/models/auth.method';
import { AuthMethodType } from '../../../../core/auth/models/auth.method-type'; import { AuthMethodType } from '../../../../core/auth/models/auth.method-type';

View File

@@ -5,17 +5,17 @@ import { Store, StoreModule } from '@ngrx/store';
import { TranslateModule } from '@ngx-translate/core'; import { TranslateModule } from '@ngx-translate/core';
import { EPerson } from '../../../../core/eperson/models/eperson.model'; 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 { authReducer } from '../../../../core/auth/auth.reducer';
import { AuthService } from '../../../../core/auth/auth.service'; 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 { AppState } from '../../../../app.reducer';
import { AuthMethod } from '../../../../core/auth/models/auth.method'; import { AuthMethod } from '../../../../core/auth/models/auth.method';
import { AuthMethodType } from '../../../../core/auth/models/auth.method-type'; import { AuthMethodType } from '../../../../core/auth/models/auth.method-type';
import { LogInShibbolethComponent } from './log-in-shibboleth.component'; import { LogInShibbolethComponent } from './log-in-shibboleth.component';
import { NativeWindowService } from '../../../../core/services/window.service'; import { NativeWindowService } from '../../../../core/services/window.service';
import { RouterStub } from '../../../testing/router-stub'; import { RouterStub } from '../../../testing/router.stub';
import { ActivatedRouteStub } from '../../../testing/active-router-stub'; import { ActivatedRouteStub } from '../../../testing/active-router.stub';
import { NativeWindowMockFactory } from '../../../mocks/mock-native-window-ref'; import { NativeWindowMockFactory } from '../../../mocks/mock-native-window-ref';
describe('LogInShibbolethComponent', () => { describe('LogInShibbolethComponent', () => {
@@ -26,17 +26,21 @@ describe('LogInShibbolethComponent', () => {
let user: EPerson; let user: EPerson;
let componentAsAny: any; let componentAsAny: any;
let setHrefSpy; let setHrefSpy;
const shibbolethBaseUrl = 'dspace-rest.test/shibboleth?redirectUrl='; let shibbolethBaseUrl;
const location = shibbolethBaseUrl + 'http://dspace-angular.test/home'; let location;
const authState = { let authState;
beforeEach(() => {
user = EPersonMock;
shibbolethBaseUrl = 'dspace-rest.test/shibboleth?redirectUrl=';
location = shibbolethBaseUrl + 'http://dspace-angular.test/home';
authState = {
authenticated: false, authenticated: false,
loaded: false, loaded: false,
loading: false, loading: false,
}; };
beforeEach(() => {
user = EPersonMock;
}); });
beforeEach(async(() => { beforeEach(async(() => {

View File

@@ -4,6 +4,7 @@ import { DebugElement, NO_ERRORS_SCHEMA } from '@angular/core';
import { By } from '@angular/platform-browser'; import { By } from '@angular/platform-browser';
import { LinkMenuItemComponent } from './link-menu-item.component'; import { LinkMenuItemComponent } from './link-menu-item.component';
import { RouterLinkDirectiveStub } from '../../testing/router-link-directive.stub'; import { RouterLinkDirectiveStub } from '../../testing/router-link-directive.stub';
import { environment } from '../../../../environments/environment';
describe('LinkMenuItemComponent', () => { describe('LinkMenuItemComponent', () => {
let component: LinkMenuItemComponent; let component: LinkMenuItemComponent;
@@ -11,12 +12,10 @@ describe('LinkMenuItemComponent', () => {
let debugElement: DebugElement; let debugElement: DebugElement;
let text; let text;
let link; let link;
let nameSpace;
function init() { function init() {
text = 'HELLO'; text = 'HELLO';
link = 'http://google.com'; link = 'http://google.com';
nameSpace = '/angular-dspace';
} }
beforeEach(async(() => { beforeEach(async(() => {
init(); init();
@@ -52,6 +51,6 @@ describe('LinkMenuItemComponent', () => {
const routerLinkQuery = linkDes.map((de) => de.injector.get(RouterLinkDirectiveStub)); const routerLinkQuery = linkDes.map((de) => de.injector.get(RouterLinkDirectiveStub));
expect(routerLinkQuery.length).toBe(1); expect(routerLinkQuery.length).toBe(1);
expect(routerLinkQuery[0].routerLink).toBe(nameSpace + link); expect(routerLinkQuery[0].routerLink).toBe(environment.ui.nameSpace + link);
}); });
}); });

View File

@@ -17,7 +17,7 @@ export interface GlobalConfig extends Config {
rest: ServerConfig; rest: ServerConfig;
production: boolean; production: boolean;
cache: CacheConfig; cache: CacheConfig;
auth: AuthConfig; auth?: AuthConfig;
form: FormConfig; form: FormConfig;
notifications: INotificationBoardOptions; notifications: INotificationBoardOptions;
submission: SubmissionConfig; submission: SubmissionConfig;

View File

@@ -2,6 +2,11 @@
"extends": [ "extends": [
"tslint:recommended" "tslint:recommended"
], ],
"linterOptions": {
"exclude": [
"src/environments/environment.ts"
]
},
"rulesDirectory": [ "rulesDirectory": [
"node_modules/codelyzer" "node_modules/codelyzer"
], ],