Initial tests for OpenSlides3. Parallel execution of server and client
tests.
This commit is contained in:
parent
5d4faa288b
commit
9f291308aa
93
.travis.yml
93
.travis.yml
@ -1,27 +1,70 @@
|
|||||||
language: python
|
|
||||||
dist: xenial
|
dist: xenial
|
||||||
sudo: true
|
sudo: true
|
||||||
cache:
|
|
||||||
pip: true
|
matrix:
|
||||||
yarn: true
|
include:
|
||||||
python:
|
- language: python
|
||||||
- "3.6"
|
cache:
|
||||||
- "3.7"
|
pip: true
|
||||||
env:
|
python:
|
||||||
- TRAVIS_NODE_VERSION="10.5"
|
- "3.6"
|
||||||
before_install:
|
env:
|
||||||
- nvm install $TRAVIS_NODE_VERSION
|
- TRAVIS_NODE_VERSION="10.5"
|
||||||
- curl -o- -L https://yarnpkg.com/install.sh | bash
|
install:
|
||||||
- export PATH="$HOME/.yarn/bin:$PATH"
|
- python --version
|
||||||
install:
|
- pip install --upgrade setuptools pip
|
||||||
- pip install --upgrade setuptools pip
|
- pip install --upgrade --requirement requirements/development.txt
|
||||||
- pip install --upgrade --requirement requirements/development.txt
|
- pip install --upgrade .[big_mode]
|
||||||
- pip install --upgrade .[big_mode]
|
- pip freeze
|
||||||
- pip freeze
|
script:
|
||||||
- cd client && npm install && cd ..
|
- flake8 openslides tests
|
||||||
script:
|
- isort --check-only --diff --recursive openslides tests
|
||||||
- cd client && npm run-script lint && cd ..
|
- python -m mypy openslides/
|
||||||
- flake8 openslides tests
|
- pytest tests/old/ tests/integration/ tests/unit/ --cov --cov-fail-under=75
|
||||||
- isort --check-only --diff --recursive openslides tests
|
|
||||||
- python -m mypy openslides/
|
- language: python
|
||||||
- pytest tests/old/ tests/integration/ tests/unit/ --cov --cov-fail-under=75
|
cache:
|
||||||
|
pip: true
|
||||||
|
python:
|
||||||
|
- "3.7"
|
||||||
|
env:
|
||||||
|
- TRAVIS_NODE_VERSION="10.5"
|
||||||
|
install:
|
||||||
|
- python --version
|
||||||
|
- pip install --upgrade setuptools pip
|
||||||
|
- pip install --upgrade --requirement requirements/development.txt
|
||||||
|
- pip install --upgrade .[big_mode]
|
||||||
|
- pip freeze
|
||||||
|
script:
|
||||||
|
- flake8 openslides tests
|
||||||
|
- isort --check-only --diff --recursive openslides tests
|
||||||
|
- python -m mypy openslides/
|
||||||
|
- pytest tests/old/ tests/integration/ tests/unit/ --cov --cov-fail-under=75
|
||||||
|
|
||||||
|
- language: node_js
|
||||||
|
node_js:
|
||||||
|
- "9"
|
||||||
|
apt:
|
||||||
|
sources:
|
||||||
|
- google-chrome
|
||||||
|
packages:
|
||||||
|
- google-chrome-stable
|
||||||
|
cache:
|
||||||
|
yarn: true
|
||||||
|
directories:
|
||||||
|
- $HOME/.yarn-cache
|
||||||
|
- node_modules
|
||||||
|
before_install:
|
||||||
|
- sh -e /etc/init.d/xvfb start
|
||||||
|
- export CHROME_BIN=/usr/bin/google-chrome
|
||||||
|
- export DISPLAY=:99.0
|
||||||
|
- curl -o- -L https://yarnpkg.com/install.sh | bash
|
||||||
|
- export PATH="$HOME/.yarn/bin:$PATH"
|
||||||
|
- yarn global add @angular/cli
|
||||||
|
- ng --version
|
||||||
|
- cd client
|
||||||
|
install:
|
||||||
|
- yarn install
|
||||||
|
script:
|
||||||
|
- yarn run lint
|
||||||
|
- yarn run test --watch=false
|
||||||
|
4342
client/package-lock.json
generated
4342
client/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -1,9 +1,10 @@
|
|||||||
import { TestBed, async } from '@angular/core/testing';
|
import { TestBed, async } from '@angular/core/testing';
|
||||||
import { AppComponent } from './app.component';
|
import { AppComponent } from './app.component';
|
||||||
|
import { E2EImportsModule } from './../e2e-imports.module';
|
||||||
describe('AppComponent', () => {
|
describe('AppComponent', () => {
|
||||||
beforeEach(async(() => {
|
beforeEach(async(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
declarations: [AppComponent]
|
imports: [E2EImportsModule]
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
}));
|
}));
|
||||||
it('should create the app', async(() => {
|
it('should create the app', async(() => {
|
||||||
@ -11,15 +12,4 @@ describe('AppComponent', () => {
|
|||||||
const app = fixture.debugElement.componentInstance;
|
const app = fixture.debugElement.componentInstance;
|
||||||
expect(app).toBeTruthy();
|
expect(app).toBeTruthy();
|
||||||
}));
|
}));
|
||||||
it(`should have as title 'app'`, async(() => {
|
|
||||||
const fixture = TestBed.createComponent(AppComponent);
|
|
||||||
const app = fixture.debugElement.componentInstance;
|
|
||||||
expect(app.title).toEqual('app');
|
|
||||||
}));
|
|
||||||
it('should render title in a h1 tag', async(() => {
|
|
||||||
const fixture = TestBed.createComponent(AppComponent);
|
|
||||||
fixture.detectChanges();
|
|
||||||
const compiled = fixture.debugElement.nativeElement;
|
|
||||||
expect(compiled.querySelector('h1').textContent).toContain('Welcome to client!');
|
|
||||||
}));
|
|
||||||
});
|
});
|
||||||
|
@ -4,7 +4,7 @@ describe('CoreModule', () => {
|
|||||||
let coreModule: CoreModule;
|
let coreModule: CoreModule;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
coreModule = new CoreModule(parent);
|
coreModule = new CoreModule(null);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should create an instance', () => {
|
it('should create an instance', () => {
|
||||||
|
@ -1,12 +1,15 @@
|
|||||||
import { TestBed, inject } from '@angular/core/testing';
|
import { TestBed, inject } from '@angular/core/testing';
|
||||||
import { NotifyService } from './notify.service';
|
import { AppLoadService } from './app-load.service';
|
||||||
describe('NotifyService', () => {
|
import { E2EImportsModule } from '../../../e2e-imports.module';
|
||||||
|
|
||||||
|
describe('AppLoadService', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
providers: [NotifyService]
|
imports: [E2EImportsModule],
|
||||||
|
providers: [AppLoadService]
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
it('should be created', inject([NotifyService], (service: NotifyService) => {
|
it('should be created', inject([AppLoadService], (service: AppLoadService) => {
|
||||||
expect(service).toBeTruthy();
|
expect(service).toBeTruthy();
|
||||||
}));
|
}));
|
||||||
});
|
});
|
||||||
|
@ -56,6 +56,4 @@ export class AppLoadService {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private registerModels(models?: { collectionString: string; model: ModelConstructor<BaseModel> }[]): void {}
|
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
import { TestBed, inject } from '@angular/core/testing';
|
import { TestBed, inject } from '@angular/core/testing';
|
||||||
|
|
||||||
import { AuthService } from './auth.service';
|
import { AuthService } from './auth.service';
|
||||||
|
import { E2EImportsModule } from '../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('ConfigService', () => {
|
describe('ConfigService', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
imports: [E2EImportsModule],
|
||||||
providers: [AuthService]
|
providers: [AuthService]
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
import { TestBed, inject } from '@angular/core/testing';
|
import { TestBed, inject } from '@angular/core/testing';
|
||||||
|
|
||||||
import { AutoupdateService } from './autoupdate.service';
|
import { AutoupdateService } from './autoupdate.service';
|
||||||
|
import { E2EImportsModule } from '../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('AutoupdateService', () => {
|
describe('AutoupdateService', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
imports: [E2EImportsModule],
|
||||||
providers: [AutoupdateService]
|
providers: [AutoupdateService]
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
import { TestBed, inject } from '@angular/core/testing';
|
import { TestBed, inject } from '@angular/core/testing';
|
||||||
|
|
||||||
import { ConstantsService } from './constants.service';
|
import { ConstantsService } from './constants.service';
|
||||||
|
import { E2EImportsModule } from '../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('ConstantsService', () => {
|
describe('ConstantsService', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
imports: [E2EImportsModule],
|
||||||
providers: [ConstantsService]
|
providers: [ConstantsService]
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
import { TestBed, inject } from '@angular/core/testing';
|
import { TestBed, inject } from '@angular/core/testing';
|
||||||
|
|
||||||
import { DataSendService } from './data-send.service';
|
import { DataSendService } from './data-send.service';
|
||||||
|
import { E2EImportsModule } from '../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('DataSendService', () => {
|
describe('DataSendService', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
imports: [E2EImportsModule],
|
||||||
providers: [DataSendService]
|
providers: [DataSendService]
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -59,11 +59,6 @@ interface JsonStorage {
|
|||||||
export class DataStoreService {
|
export class DataStoreService {
|
||||||
private static cachePrefix = 'DS:';
|
private static cachePrefix = 'DS:';
|
||||||
|
|
||||||
/**
|
|
||||||
* Make sure, that the Datastore only be instantiated once.
|
|
||||||
*/
|
|
||||||
private static wasInstantiated = false;
|
|
||||||
|
|
||||||
/** We will store the data twice: One as instances of the actual models in the _store
|
/** We will store the data twice: One as instances of the actual models in the _store
|
||||||
* and one serialized version in the _serializedStore for the cache. Both should be updated in
|
* and one serialized version in the _serializedStore for the cache. Both should be updated in
|
||||||
* all cases equal!
|
* all cases equal!
|
||||||
@ -115,12 +110,7 @@ export class DataStoreService {
|
|||||||
* Empty constructor for dataStore
|
* Empty constructor for dataStore
|
||||||
* @param cacheService use CacheService to cache the DataStore.
|
* @param cacheService use CacheService to cache the DataStore.
|
||||||
*/
|
*/
|
||||||
public constructor(private cacheService: CacheService, private modelMapper: CollectionStringModelMapperService) {
|
public constructor(private cacheService: CacheService, private modelMapper: CollectionStringModelMapperService) {}
|
||||||
if (DataStoreService.wasInstantiated) {
|
|
||||||
throw new Error('The Datastore should just be instantiated once!');
|
|
||||||
}
|
|
||||||
DataStoreService.wasInstantiated = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the DataStore from cache and instantiate all models out of the serialized version.
|
* Gets the DataStore from cache and instantiate all models out of the serialized version.
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
import { TestBed, inject } from '@angular/core/testing';
|
import { TestBed, inject } from '@angular/core/testing';
|
||||||
|
|
||||||
import { NotifyService } from './notify.service';
|
import { NotifyService } from './notify.service';
|
||||||
|
import { E2EImportsModule } from '../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('NotifyService', () => {
|
describe('NotifyService', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
imports: [E2EImportsModule],
|
||||||
providers: [NotifyService]
|
providers: [NotifyService]
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
import { TestBed, inject } from '@angular/core/testing';
|
import { TestBed, inject } from '@angular/core/testing';
|
||||||
|
|
||||||
import { OpenSlidesService } from './openslides.service';
|
import { OpenSlidesService } from './openslides.service';
|
||||||
|
import { E2EImportsModule } from '../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('OpenSlidesService', () => {
|
describe('OpenSlidesService', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
imports: [E2EImportsModule],
|
||||||
providers: [OpenSlidesService]
|
providers: [OpenSlidesService]
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
import { TestBed, inject } from '@angular/core/testing';
|
import { TestBed, inject } from '@angular/core/testing';
|
||||||
|
|
||||||
import { OperatorService } from './operator.service';
|
import { OperatorService } from './operator.service';
|
||||||
|
import { E2EImportsModule } from '../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('OperatorService', () => {
|
describe('OperatorService', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
imports: [E2EImportsModule],
|
||||||
providers: [OperatorService]
|
providers: [OperatorService]
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
import { TestBed, inject } from '@angular/core/testing';
|
import { TestBed, inject } from '@angular/core/testing';
|
||||||
|
|
||||||
import { WebsocketService } from './websocket.service';
|
import { WebsocketService } from './websocket.service';
|
||||||
|
import { E2EImportsModule } from '../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('WebsocketService', () => {
|
describe('WebsocketService', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
imports: [E2EImportsModule],
|
||||||
providers: [WebsocketService]
|
providers: [WebsocketService]
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
import { ProjectorComponent } from './projector.component';
|
import { ProjectorComponent } from './projector.component';
|
||||||
|
import { E2EImportsModule } from '../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('ProjectorComponent', () => {
|
describe('ProjectorComponent', () => {
|
||||||
let component: ProjectorComponent;
|
let component: ProjectorComponent;
|
||||||
@ -8,6 +9,7 @@ describe('ProjectorComponent', () => {
|
|||||||
|
|
||||||
beforeEach(async(() => {
|
beforeEach(async(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
imports: [E2EImportsModule],
|
||||||
declarations: [ProjectorComponent]
|
declarations: [ProjectorComponent]
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
}));
|
}));
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { Component, OnInit } from '@angular/core';
|
import { Component, OnInit } from '@angular/core';
|
||||||
import { BaseComponent } from 'app/base.component';
|
import { BaseComponent } from 'app/base.component';
|
||||||
import { Title } from '@angular/platform-browser';
|
import { Title } from '@angular/platform-browser';
|
||||||
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'os-projector',
|
selector: 'os-projector',
|
||||||
@ -8,8 +9,8 @@ import { Title } from '@angular/platform-browser';
|
|||||||
styleUrls: ['./projector.component.css']
|
styleUrls: ['./projector.component.css']
|
||||||
})
|
})
|
||||||
export class ProjectorComponent extends BaseComponent implements OnInit {
|
export class ProjectorComponent extends BaseComponent implements OnInit {
|
||||||
public constructor(protected titleService: Title) {
|
public constructor(titleService: Title, translate: TranslateService) {
|
||||||
super(titleService);
|
super(titleService, translate);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ngOnInit(): void {
|
public ngOnInit(): void {
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
import { FooterComponent } from './footer.component';
|
import { FooterComponent } from './footer.component';
|
||||||
|
import { E2EImportsModule } from '../../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('FooterComponent', () => {
|
describe('FooterComponent', () => {
|
||||||
let component: FooterComponent;
|
let component: FooterComponent;
|
||||||
@ -8,7 +9,7 @@ describe('FooterComponent', () => {
|
|||||||
|
|
||||||
beforeEach(async(() => {
|
beforeEach(async(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
declarations: [FooterComponent]
|
imports: [E2EImportsModule]
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
import { HeadBarComponent } from './head-bar.component';
|
import { HeadBarComponent } from './head-bar.component';
|
||||||
|
import { E2EImportsModule } from '../../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('HeadBarComponent', () => {
|
describe('HeadBarComponent', () => {
|
||||||
let component: HeadBarComponent;
|
let component: HeadBarComponent;
|
||||||
@ -8,7 +9,7 @@ describe('HeadBarComponent', () => {
|
|||||||
|
|
||||||
beforeEach(async(() => {
|
beforeEach(async(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
declarations: [HeadBarComponent]
|
imports: [E2EImportsModule]
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
import { LegalNoticeContentComponent } from './legal-notice-content.component';
|
import { LegalNoticeContentComponent } from './legal-notice-content.component';
|
||||||
|
import { E2EImportsModule } from '../../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('LegalNoticeComponent', () => {
|
describe('LegalNoticeComponent', () => {
|
||||||
let component: LegalNoticeContentComponent;
|
let component: LegalNoticeContentComponent;
|
||||||
@ -8,7 +9,7 @@ describe('LegalNoticeComponent', () => {
|
|||||||
|
|
||||||
beforeEach(async(() => {
|
beforeEach(async(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
declarations: [LegalNoticeContentComponent]
|
imports: [E2EImportsModule]
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
import { PrivacyPolicyContentComponent } from './privacy-policy-content.component';
|
import { PrivacyPolicyContentComponent } from './privacy-policy-content.component';
|
||||||
|
import { E2EImportsModule } from '../../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('PrivacyPolicyComponent', () => {
|
describe('PrivacyPolicyComponent', () => {
|
||||||
let component: PrivacyPolicyContentComponent;
|
let component: PrivacyPolicyContentComponent;
|
||||||
@ -8,7 +9,7 @@ describe('PrivacyPolicyComponent', () => {
|
|||||||
|
|
||||||
beforeEach(async(() => {
|
beforeEach(async(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
declarations: [PrivacyPolicyContentComponent]
|
imports: [E2EImportsModule]
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
@ -1,24 +1,48 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
import { SearchValueSelectorComponent } from './search-value-selector.component';
|
import { SearchValueSelectorComponent, Selectable } from './search-value-selector.component';
|
||||||
|
import { E2EImportsModule } from '../../../../e2e-imports.module';
|
||||||
|
import { ViewChild, Component } from '@angular/core';
|
||||||
|
import { BehaviorSubject } from 'rxjs';
|
||||||
|
import { FormControl, FormBuilder } from '@angular/forms';
|
||||||
|
|
||||||
describe('SearchValueSelectorComponent', () => {
|
describe('SearchValueSelectorComponent', () => {
|
||||||
let component: SearchValueSelectorComponent;
|
@Component({
|
||||||
let fixture: ComponentFixture<SearchValueSelectorComponent>;
|
selector: 'os-host-component',
|
||||||
|
template: '<os-search-value-selector></os-search-value-selector>'
|
||||||
|
})
|
||||||
|
class TestHostComponent {
|
||||||
|
@ViewChild(SearchValueSelectorComponent)
|
||||||
|
public searchValueSelectorComponent: SearchValueSelectorComponent;
|
||||||
|
}
|
||||||
|
|
||||||
|
let hostComponent: TestHostComponent;
|
||||||
|
let hostFixture: ComponentFixture<TestHostComponent>;
|
||||||
|
|
||||||
beforeEach(async(() => {
|
beforeEach(async(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
declarations: [SearchValueSelectorComponent]
|
imports: [E2EImportsModule],
|
||||||
|
declarations: [TestHostComponent]
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
}));
|
}));
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
fixture = TestBed.createComponent(SearchValueSelectorComponent);
|
hostFixture = TestBed.createComponent(TestHostComponent);
|
||||||
component = fixture.componentInstance;
|
hostComponent = hostFixture.componentInstance;
|
||||||
fixture.detectChanges();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should create', () => {
|
it('should create', () => {
|
||||||
expect(component).toBeTruthy();
|
const subject: BehaviorSubject<Selectable[]> = new BehaviorSubject([]);
|
||||||
|
hostComponent.searchValueSelectorComponent.InputListValues = subject;
|
||||||
|
|
||||||
|
const formBuilder: FormBuilder = TestBed.get(FormBuilder);
|
||||||
|
const formGroup = formBuilder.group({
|
||||||
|
testArray: []
|
||||||
|
});
|
||||||
|
hostComponent.searchValueSelectorComponent.form = formGroup;
|
||||||
|
hostComponent.searchValueSelectorComponent.formControl = <FormControl>formGroup.get('testArray');
|
||||||
|
|
||||||
|
hostFixture.detectChanges();
|
||||||
|
expect(hostComponent.searchValueSelectorComponent).toBeTruthy();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -7,7 +7,7 @@ import { Displayable } from '../../models/base/displayable';
|
|||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
import { Identifiable } from '../../models/base/identifiable';
|
import { Identifiable } from '../../models/base/identifiable';
|
||||||
|
|
||||||
type Selectable = Displayable & Identifiable;
|
export type Selectable = Displayable & Identifiable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reusable Searchable Value Selector
|
* Reusable Searchable Value Selector
|
||||||
|
@ -39,6 +39,8 @@ import { TranslateModule } from '@ngx-translate/core';
|
|||||||
// directives
|
// directives
|
||||||
import { PermsDirective } from './directives/perms.directive';
|
import { PermsDirective } from './directives/perms.directive';
|
||||||
import { DomChangeDirective } from './directives/dom-change.directive';
|
import { DomChangeDirective } from './directives/dom-change.directive';
|
||||||
|
|
||||||
|
// components
|
||||||
import { HeadBarComponent } from './components/head-bar/head-bar.component';
|
import { HeadBarComponent } from './components/head-bar/head-bar.component';
|
||||||
import { FooterComponent } from './components/footer/footer.component';
|
import { FooterComponent } from './components/footer/footer.component';
|
||||||
import { LegalNoticeContentComponent } from './components/legal-notice-content/legal-notice-content.component';
|
import { LegalNoticeContentComponent } from './components/legal-notice-content/legal-notice-content.component';
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
import { AgendaListComponent } from './agenda-list.component';
|
import { AgendaListComponent } from './agenda-list.component';
|
||||||
|
import { E2EImportsModule } from '../../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('AgendaListComponent', () => {
|
describe('AgendaListComponent', () => {
|
||||||
let component: AgendaListComponent;
|
let component: AgendaListComponent;
|
||||||
@ -8,6 +9,7 @@ describe('AgendaListComponent', () => {
|
|||||||
|
|
||||||
beforeEach(async(() => {
|
beforeEach(async(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
imports: [E2EImportsModule],
|
||||||
declarations: [AgendaListComponent]
|
declarations: [AgendaListComponent]
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
}));
|
}));
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
import { AssignmentListComponent } from './assignment-list.component';
|
import { AssignmentListComponent } from './assignment-list.component';
|
||||||
|
import { E2EImportsModule } from '../../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('AssignmentListComponent', () => {
|
describe('AssignmentListComponent', () => {
|
||||||
let component: AssignmentListComponent;
|
let component: AssignmentListComponent;
|
||||||
@ -8,6 +9,7 @@ describe('AssignmentListComponent', () => {
|
|||||||
|
|
||||||
beforeEach(async(() => {
|
beforeEach(async(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
imports: [E2EImportsModule],
|
||||||
declarations: [AssignmentListComponent]
|
declarations: [AssignmentListComponent]
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
}));
|
}));
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
import { LegalNoticeComponent } from './legal-notice.component';
|
import { LegalNoticeComponent } from './legal-notice.component';
|
||||||
|
import { E2EImportsModule } from '../../../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('LegalNoticeComponent', () => {
|
describe('LegalNoticeComponent', () => {
|
||||||
let component: LegalNoticeComponent;
|
let component: LegalNoticeComponent;
|
||||||
@ -8,6 +9,7 @@ describe('LegalNoticeComponent', () => {
|
|||||||
|
|
||||||
beforeEach(async(() => {
|
beforeEach(async(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
imports: [E2EImportsModule],
|
||||||
declarations: [LegalNoticeComponent]
|
declarations: [LegalNoticeComponent]
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
}));
|
}));
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
import { PrivacyPolicyComponent } from './privacy-policy.component';
|
import { PrivacyPolicyComponent } from './privacy-policy.component';
|
||||||
|
import { E2EImportsModule } from '../../../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('PrivacyPolicyComponent', () => {
|
describe('PrivacyPolicyComponent', () => {
|
||||||
let component: PrivacyPolicyComponent;
|
let component: PrivacyPolicyComponent;
|
||||||
@ -8,6 +9,7 @@ describe('PrivacyPolicyComponent', () => {
|
|||||||
|
|
||||||
beforeEach(async(() => {
|
beforeEach(async(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
imports: [E2EImportsModule],
|
||||||
declarations: [PrivacyPolicyComponent]
|
declarations: [PrivacyPolicyComponent]
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
}));
|
}));
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
import { StartComponent } from './start.component';
|
import { StartComponent } from './start.component';
|
||||||
|
import { E2EImportsModule } from '../../../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('StartComponent', () => {
|
describe('StartComponent', () => {
|
||||||
let component: StartComponent;
|
let component: StartComponent;
|
||||||
@ -8,6 +9,7 @@ describe('StartComponent', () => {
|
|||||||
|
|
||||||
beforeEach(async(() => {
|
beforeEach(async(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
imports: [E2EImportsModule],
|
||||||
declarations: [StartComponent]
|
declarations: [StartComponent]
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
}));
|
}));
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
import { LoginLegalNoticeComponent } from './login-legal-notice.component';
|
import { LoginLegalNoticeComponent } from './login-legal-notice.component';
|
||||||
|
import { E2EImportsModule } from '../../../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('LoginLegalNoticeComponent', () => {
|
describe('LoginLegalNoticeComponent', () => {
|
||||||
let component: LoginLegalNoticeComponent;
|
let component: LoginLegalNoticeComponent;
|
||||||
@ -8,7 +9,7 @@ describe('LoginLegalNoticeComponent', () => {
|
|||||||
|
|
||||||
beforeEach(async(() => {
|
beforeEach(async(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
declarations: [LoginLegalNoticeComponent]
|
imports: [E2EImportsModule]
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
import { LoginMaskComponent } from './login-mask.component';
|
import { LoginMaskComponent } from './login-mask.component';
|
||||||
|
import { E2EImportsModule } from '../../../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('LoginMaskComponent', () => {
|
describe('LoginMaskComponent', () => {
|
||||||
let component: LoginMaskComponent;
|
let component: LoginMaskComponent;
|
||||||
@ -8,7 +9,7 @@ describe('LoginMaskComponent', () => {
|
|||||||
|
|
||||||
beforeEach(async(() => {
|
beforeEach(async(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
declarations: [LoginMaskComponent]
|
imports: [E2EImportsModule]
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
}));
|
}));
|
||||||
|
|
||||||
@ -21,4 +22,10 @@ describe('LoginMaskComponent', () => {
|
|||||||
it('should create', () => {
|
it('should create', () => {
|
||||||
expect(component).toBeTruthy();
|
expect(component).toBeTruthy();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// TODO: mock HTTPClient
|
||||||
|
/*it('should have an forget password button', async(() => {
|
||||||
|
const compiled = fixture.debugElement.nativeElement;
|
||||||
|
expect(compiled.querySelector('.forgot-password-button').textContent).toContain('Forgot Password?');
|
||||||
|
}));*/
|
||||||
});
|
});
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
import { LoginPrivacyPolicyComponent } from './login-privacy-policy.component';
|
import { LoginPrivacyPolicyComponent } from './login-privacy-policy.component';
|
||||||
|
import { E2EImportsModule } from '../../../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('LoginPrivacyPolicyComponent', () => {
|
describe('LoginPrivacyPolicyComponent', () => {
|
||||||
let component: LoginPrivacyPolicyComponent;
|
let component: LoginPrivacyPolicyComponent;
|
||||||
@ -8,7 +9,7 @@ describe('LoginPrivacyPolicyComponent', () => {
|
|||||||
|
|
||||||
beforeEach(async(() => {
|
beforeEach(async(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
declarations: [LoginPrivacyPolicyComponent]
|
imports: [E2EImportsModule]
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
import { LoginComponent } from './login.component';
|
import { LoginComponent } from './login.component';
|
||||||
|
import { E2EImportsModule } from '../../../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('LoginComponent', () => {
|
describe('LoginComponent', () => {
|
||||||
let component: LoginComponent;
|
let component: LoginComponent;
|
||||||
@ -8,7 +9,7 @@ describe('LoginComponent', () => {
|
|||||||
|
|
||||||
beforeEach(async(() => {
|
beforeEach(async(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
declarations: [LoginComponent]
|
imports: [E2EImportsModule]
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
import { MediafileListComponent } from './mediafile-list.component';
|
import { MediafileListComponent } from './mediafile-list.component';
|
||||||
|
import { E2EImportsModule } from '../../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('MediafileListComponent', () => {
|
describe('MediafileListComponent', () => {
|
||||||
let component: MediafileListComponent;
|
let component: MediafileListComponent;
|
||||||
@ -8,6 +9,7 @@ describe('MediafileListComponent', () => {
|
|||||||
|
|
||||||
beforeEach(async(() => {
|
beforeEach(async(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
imports: [E2EImportsModule],
|
||||||
declarations: [MediafileListComponent]
|
declarations: [MediafileListComponent]
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
}));
|
}));
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
import { CategoryListComponent } from './category-list.component';
|
import { CategoryListComponent } from './category-list.component';
|
||||||
|
import { E2EImportsModule } from '../../../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('CategoryListComponent', () => {
|
describe('CategoryListComponent', () => {
|
||||||
let component: CategoryListComponent;
|
let component: CategoryListComponent;
|
||||||
@ -8,6 +9,7 @@ describe('CategoryListComponent', () => {
|
|||||||
|
|
||||||
beforeEach(async(() => {
|
beforeEach(async(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
imports: [E2EImportsModule],
|
||||||
declarations: [CategoryListComponent]
|
declarations: [CategoryListComponent]
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
}));
|
}));
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
import { MotionDetailComponent } from './motion-detail.component';
|
import { MotionDetailComponent } from './motion-detail.component';
|
||||||
|
import { E2EImportsModule } from '../../../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('MotionDetailComponent', () => {
|
describe('MotionDetailComponent', () => {
|
||||||
let component: MotionDetailComponent;
|
let component: MotionDetailComponent;
|
||||||
@ -8,6 +9,7 @@ describe('MotionDetailComponent', () => {
|
|||||||
|
|
||||||
beforeEach(async(() => {
|
beforeEach(async(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
imports: [E2EImportsModule],
|
||||||
declarations: [MotionDetailComponent]
|
declarations: [MotionDetailComponent]
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
}));
|
}));
|
||||||
|
@ -104,7 +104,7 @@ export class MotionDetailComponent extends BaseComponent implements OnInit {
|
|||||||
super();
|
super();
|
||||||
this.createForm();
|
this.createForm();
|
||||||
|
|
||||||
if (route.snapshot.url[0].path === 'new') {
|
if (route.snapshot.url[0] && route.snapshot.url[0].path === 'new') {
|
||||||
this.newMotion = true;
|
this.newMotion = true;
|
||||||
this.editMotion = true;
|
this.editMotion = true;
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
import { MotionListComponent } from './motion-list.component';
|
import { MotionListComponent } from './motion-list.component';
|
||||||
|
import { E2EImportsModule } from '../../../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('MotionListComponent', () => {
|
describe('MotionListComponent', () => {
|
||||||
let component: MotionListComponent;
|
let component: MotionListComponent;
|
||||||
@ -8,6 +9,7 @@ describe('MotionListComponent', () => {
|
|||||||
|
|
||||||
beforeEach(async(() => {
|
beforeEach(async(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
imports: [E2EImportsModule],
|
||||||
declarations: [MotionListComponent]
|
declarations: [MotionListComponent]
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
}));
|
}));
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
import { TestBed, inject } from '@angular/core/testing';
|
import { TestBed, inject } from '@angular/core/testing';
|
||||||
|
|
||||||
import { CategoryRepositoryService } from './category-repository.service';
|
import { CategoryRepositoryService } from './category-repository.service';
|
||||||
|
import { E2EImportsModule } from '../../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('CategoryRepositoryService', () => {
|
describe('CategoryRepositoryService', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
imports: [E2EImportsModule],
|
||||||
providers: [CategoryRepositoryService]
|
providers: [CategoryRepositoryService]
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
import { TestBed, inject } from '@angular/core/testing';
|
import { TestBed, inject } from '@angular/core/testing';
|
||||||
|
|
||||||
import { MotionRepositoryService } from './motion-repository.service';
|
import { MotionRepositoryService } from './motion-repository.service';
|
||||||
|
import { E2EImportsModule } from '../../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('MotionRepositoryService', () => {
|
describe('MotionRepositoryService', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
imports: [E2EImportsModule],
|
||||||
providers: [MotionRepositoryService]
|
providers: [MotionRepositoryService]
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
import { SettingsListComponent } from './settings-list.component';
|
import { SettingsListComponent } from './settings-list.component';
|
||||||
|
import { E2EImportsModule } from '../../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('SettingsListComponent', () => {
|
describe('SettingsListComponent', () => {
|
||||||
let component: SettingsListComponent;
|
let component: SettingsListComponent;
|
||||||
@ -8,6 +9,7 @@ describe('SettingsListComponent', () => {
|
|||||||
|
|
||||||
beforeEach(async(() => {
|
beforeEach(async(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
imports: [E2EImportsModule],
|
||||||
declarations: [SettingsListComponent]
|
declarations: [SettingsListComponent]
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
}));
|
}));
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
import { SiteComponent } from './site.component';
|
import { SiteComponent } from './site.component';
|
||||||
|
import { E2EImportsModule } from '../../e2e-imports.module';
|
||||||
|
|
||||||
describe('SiteComponent', () => {
|
describe('SiteComponent', () => {
|
||||||
let component: SiteComponent;
|
let component: SiteComponent;
|
||||||
@ -8,6 +9,7 @@ describe('SiteComponent', () => {
|
|||||||
|
|
||||||
beforeEach(async(() => {
|
beforeEach(async(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
imports: [E2EImportsModule],
|
||||||
declarations: [SiteComponent]
|
declarations: [SiteComponent]
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
}));
|
}));
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
import { UserDetailComponent } from './user-detail.component';
|
import { UserDetailComponent } from './user-detail.component';
|
||||||
|
import { E2EImportsModule } from '../../../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('UserDetailComponent', () => {
|
describe('UserDetailComponent', () => {
|
||||||
let component: UserDetailComponent;
|
let component: UserDetailComponent;
|
||||||
@ -8,6 +9,7 @@ describe('UserDetailComponent', () => {
|
|||||||
|
|
||||||
beforeEach(async(() => {
|
beforeEach(async(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
imports: [E2EImportsModule],
|
||||||
declarations: [UserDetailComponent]
|
declarations: [UserDetailComponent]
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
}));
|
}));
|
||||||
|
@ -64,7 +64,7 @@ export class UserDetailComponent implements OnInit {
|
|||||||
private op: OperatorService
|
private op: OperatorService
|
||||||
) {
|
) {
|
||||||
this.user = new ViewUser();
|
this.user = new ViewUser();
|
||||||
if (route.snapshot.url[0].path === 'new') {
|
if (route.snapshot.url[0] && route.snapshot.url[0].path === 'new') {
|
||||||
this.newUser = true;
|
this.newUser = true;
|
||||||
this.setEditMode(true);
|
this.setEditMode(true);
|
||||||
} else {
|
} else {
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
import { UserListComponent } from './user-list.component';
|
import { UserListComponent } from './user-list.component';
|
||||||
|
import { E2EImportsModule } from '../../../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('UserListComponent', () => {
|
describe('UserListComponent', () => {
|
||||||
let component: UserListComponent;
|
let component: UserListComponent;
|
||||||
@ -8,6 +9,7 @@ describe('UserListComponent', () => {
|
|||||||
|
|
||||||
beforeEach(async(() => {
|
beforeEach(async(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
imports: [E2EImportsModule],
|
||||||
declarations: [UserListComponent]
|
declarations: [UserListComponent]
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
}));
|
}));
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
import { TestBed, inject } from '@angular/core/testing';
|
import { TestBed, inject } from '@angular/core/testing';
|
||||||
|
|
||||||
import { UserRepositoryService } from './user-repository.service';
|
import { UserRepositoryService } from './user-repository.service';
|
||||||
|
import { E2EImportsModule } from '../../../../e2e-imports.module';
|
||||||
|
|
||||||
describe('UserRepositoryService', () => {
|
describe('UserRepositoryService', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
|
imports: [E2EImportsModule],
|
||||||
providers: [UserRepositoryService]
|
providers: [UserRepositoryService]
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
42
client/src/e2e-imports.module.ts
Normal file
42
client/src/e2e-imports.module.ts
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
import { APP_BASE_HREF, CommonModule } from '@angular/common';
|
||||||
|
import { HttpClient, HttpClientModule } from '@angular/common/http';
|
||||||
|
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
|
||||||
|
import { SharedModule } from 'app/shared/shared.module';
|
||||||
|
import { AppModule, HttpLoaderFactory } from 'app/app.module';
|
||||||
|
import { AppRoutingModule } from 'app/app-routing.module';
|
||||||
|
import { LoginModule } from 'app/site/login/login.module';
|
||||||
|
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Share Module for all "dumb" components and pipes.
|
||||||
|
*
|
||||||
|
* These components don not import and inject services from core or other features
|
||||||
|
* in their constructors.
|
||||||
|
*
|
||||||
|
* Should receive all data though attributes in the template of the component using them.
|
||||||
|
* No dependency to the rest of our application.
|
||||||
|
*/
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
imports: [
|
||||||
|
AppModule,
|
||||||
|
CommonModule,
|
||||||
|
SharedModule,
|
||||||
|
|
||||||
|
HttpClientModule,
|
||||||
|
TranslateModule.forRoot({
|
||||||
|
loader: {
|
||||||
|
provide: TranslateLoader,
|
||||||
|
useFactory: HttpLoaderFactory,
|
||||||
|
deps: [HttpClient]
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
LoginModule,
|
||||||
|
BrowserAnimationsModule,
|
||||||
|
AppRoutingModule
|
||||||
|
],
|
||||||
|
exports: [CommonModule, SharedModule, HttpClientModule, TranslateModule, AppRoutingModule],
|
||||||
|
providers: [{ provide: APP_BASE_HREF, useValue: '/' }]
|
||||||
|
})
|
||||||
|
export class E2EImportsModule {}
|
Loading…
Reference in New Issue
Block a user