Add firefox browser as default for testing and add travis configuration for running UI tests.
This commit is contained in:
parent
9720c6c681
commit
c6253b980d
|
|
@ -14,9 +14,11 @@ cache:
|
||||||
before_install:
|
before_install:
|
||||||
- nvm install $NODE_VERSION
|
- nvm install $NODE_VERSION
|
||||||
- npm install -g @angular/cli >/dev/null 2>&1
|
- npm install -g @angular/cli >/dev/null 2>&1
|
||||||
|
- export DISPLAY=:99.0
|
||||||
|
- sh -e /etc/init.d/xvfb start
|
||||||
install:
|
install:
|
||||||
- (cd workplace && npm install --no-progress && ng build --environment=prod --no-progress)
|
- (cd workplace && npm install --no-progress && ng build --environment=prod --no-progress)
|
||||||
&& (cd admin && npm install --no-progress && ng build --environment=prod --no-progress)
|
&& (cd admin && npm install --no-progress && ng build:prod && npm run test)
|
||||||
&& (cd monitor && npm install --no-progress && ng build --environment=prod --no-progress)
|
&& (cd monitor && npm install --no-progress && ng build --environment=prod --no-progress)
|
||||||
&& mvn clean install -q -f lib/ -DskipTests=true -Dmaven.javadoc.skip=true -B
|
&& mvn clean install -q -f lib/ -DskipTests=true -Dmaven.javadoc.skip=true -B
|
||||||
&& mvn clean install -q -f rest/ -DskipTests=true -B
|
&& mvn clean install -q -f rest/ -DskipTests=true -B
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,8 @@ module.exports = function (config) {
|
||||||
require('karma-chrome-launcher'),
|
require('karma-chrome-launcher'),
|
||||||
require('karma-jasmine-html-reporter'),
|
require('karma-jasmine-html-reporter'),
|
||||||
require('karma-coverage-istanbul-reporter'),
|
require('karma-coverage-istanbul-reporter'),
|
||||||
require('@angular/cli/plugins/karma')
|
require('@angular/cli/plugins/karma'),
|
||||||
|
require('karma-firefox-launcher')
|
||||||
],
|
],
|
||||||
client:{
|
client:{
|
||||||
clearContext: false // leave Jasmine Spec Runner output visible in browser
|
clearContext: false // leave Jasmine Spec Runner output visible in browser
|
||||||
|
|
@ -38,7 +39,7 @@ module.exports = function (config) {
|
||||||
colors: true,
|
colors: true,
|
||||||
logLevel: config.LOG_INFO,
|
logLevel: config.LOG_INFO,
|
||||||
autoWatch: true,
|
autoWatch: true,
|
||||||
browsers: ['Chrome'],
|
browsers: ['Chrome', 'Firefox'],
|
||||||
singleRun: false
|
singleRun: false
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -6567,6 +6567,12 @@
|
||||||
"minimatch": "3.0.4"
|
"minimatch": "3.0.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"karma-firefox-launcher": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-LbZ5/XlIXLeQ3cqnCbYLn+rOVhuMIK9aZwlP6eOLGzWdo1UVp7t6CN3DP4SafiRLjexKwHeKHDm0c38Mtd3VxA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"karma-jasmine": {
|
"karma-jasmine": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-1.1.1.tgz",
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,9 @@
|
||||||
"ng": "ng",
|
"ng": "ng",
|
||||||
"start": "ng serve",
|
"start": "ng serve",
|
||||||
"build": " ng build --env=dev",
|
"build": " ng build --env=dev",
|
||||||
"build:prod": "npm run test && ng build --environment=prod --no-progress",
|
"build:prod": "ng build --environment=prod --no-progress",
|
||||||
"test": "ng test --single-run",
|
"test": "./node_modules/.bin/karma start --single-run --browsers Firefox",
|
||||||
|
"test:watch": "./node_modules/.bin/karma start --browsers Firefox",
|
||||||
"lint": "ng lint",
|
"lint": "ng lint",
|
||||||
"e2e": "ng e2e"
|
"e2e": "ng e2e"
|
||||||
},
|
},
|
||||||
|
|
@ -48,6 +49,7 @@
|
||||||
"karma-jasmine": "1.1.1",
|
"karma-jasmine": "1.1.1",
|
||||||
"karma-jasmine-html-reporter": "0.2.2",
|
"karma-jasmine-html-reporter": "0.2.2",
|
||||||
"karma-coverage-istanbul-reporter": "1.3.3",
|
"karma-coverage-istanbul-reporter": "1.3.3",
|
||||||
|
"karma-firefox-launcher": "1.1.0",
|
||||||
"protractor": "5.2.2",
|
"protractor": "5.2.2",
|
||||||
"ts-node": "4.1.0",
|
"ts-node": "4.1.0",
|
||||||
"tslint": "5.9.1",
|
"tslint": "5.9.1",
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import { AngularSvgIconModule } from 'angular-svg-icon';
|
||||||
import { HttpClientModule } from '@angular/common/http';
|
import { HttpClientModule } from '@angular/common/http';
|
||||||
import { WorkbasketSummary } from '../../model/workbasketSummary';
|
import { WorkbasketSummary } from '../../model/workbasketSummary';
|
||||||
import { WorkbasketService } from '../../services/workbasketservice.service';
|
import { WorkbasketService } from '../../services/workbasketservice.service';
|
||||||
import { HttpModule, JsonpModule } from '@angular/http';
|
import { HttpModule } from '@angular/http';
|
||||||
import { Router, Routes } from '@angular/router';
|
import { Router, Routes } from '@angular/router';
|
||||||
import { RouterTestingModule } from '@angular/router/testing';
|
import { RouterTestingModule } from '@angular/router/testing';
|
||||||
import { Observable } from 'rxjs/Observable';
|
import { Observable } from 'rxjs/Observable';
|
||||||
|
|
@ -40,21 +40,23 @@ describe('WorkbasketListComponent', () => {
|
||||||
|
|
||||||
imports:[
|
imports:[
|
||||||
AngularSvgIconModule,
|
AngularSvgIconModule,
|
||||||
HttpClientModule,
|
|
||||||
HttpModule,
|
HttpModule,
|
||||||
|
HttpClientModule,
|
||||||
RouterTestingModule.withRoutes(routes)
|
RouterTestingModule.withRoutes(routes)
|
||||||
],
|
],
|
||||||
providers:[WorkbasketService]
|
providers:[WorkbasketService]
|
||||||
})
|
})
|
||||||
.compileComponents();
|
.compileComponents();
|
||||||
|
|
||||||
|
|
||||||
fixture = TestBed.createComponent(WorkbasketListComponent);
|
fixture = TestBed.createComponent(WorkbasketListComponent);
|
||||||
component = fixture.componentInstance;
|
component = fixture.componentInstance;
|
||||||
debugElement = fixture.debugElement.nativeElement;
|
debugElement = fixture.debugElement.nativeElement;
|
||||||
fixture.detectChanges();
|
|
||||||
workbasketService = TestBed.get(WorkbasketService);
|
workbasketService = TestBed.get(WorkbasketService);
|
||||||
spyOn(workbasketService, 'getWorkBasketsSummary').and.returnValue(Observable.of(workbasketSummary));
|
spyOn(workbasketService, 'getWorkBasketsSummary').and.returnValue(Observable.of(workbasketSummary));
|
||||||
spyOn(workbasketService, 'getSelectedWorkBasket') .and.returnValue(Observable.of('2'));
|
spyOn(workbasketService, 'getSelectedWorkBasket') .and.returnValue(Observable.of('2'));
|
||||||
|
|
||||||
|
fixture.detectChanges();
|
||||||
}));
|
}));
|
||||||
|
|
||||||
afterEach(() =>{
|
afterEach(() =>{
|
||||||
|
|
@ -74,35 +76,22 @@ describe('WorkbasketListComponent', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should have wb-action-toolbar, wb-search-bar, wb-list-container and wb-pagination created in the html', fakeAsync( () => {
|
it('should have wb-action-toolbar, wb-search-bar, wb-list-container and wb-pagination created in the html', fakeAsync( () => {
|
||||||
component.ngOnInit();
|
|
||||||
expect(debugElement.querySelector('#wb-action-toolbar')).not.toBeNull();
|
expect(debugElement.querySelector('#wb-action-toolbar')).not.toBeNull();
|
||||||
expect(debugElement.querySelector('#wb-search-bar')).not.toBeNull();
|
expect(debugElement.querySelector('#wb-search-bar')).not.toBeNull();
|
||||||
expect(debugElement.querySelector('#wb-pagination')).not.toBeNull();
|
expect(debugElement.querySelector('#wb-pagination')).not.toBeNull();
|
||||||
expect(debugElement.querySelector('#wb-list-container')).not.toBeNull();
|
expect(debugElement.querySelector('#wb-list-container')).not.toBeNull();
|
||||||
expect(debugElement.querySelectorAll('#wb-list-container > li').length).toBe(2);
|
expect(debugElement.querySelectorAll('#wb-list-container > li').length).toBe(4);
|
||||||
workbasketService.getWorkBasketsSummary().subscribe(value => {
|
|
||||||
fixture.detectChanges();
|
|
||||||
expect(debugElement.querySelectorAll('#wb-list-container > li').length).toBe(4);
|
|
||||||
});
|
|
||||||
}));
|
}));
|
||||||
|
|
||||||
it('should have two workbasketsummary rows created with the second one selected.', fakeAsync( () => {
|
it('should have two workbasketsummary rows created with the second one selected.', fakeAsync( () => {
|
||||||
component.ngOnInit();
|
expect(debugElement.querySelectorAll('#wb-list-container > li').length).toBe(4);
|
||||||
workbasketService.getWorkBasketsSummary().subscribe(value => {
|
expect(debugElement.querySelectorAll('#wb-list-container > li')[2].getAttribute('class')).toBe('list-group-item');
|
||||||
fixture.detectChanges();
|
expect(debugElement.querySelectorAll('#wb-list-container > li')[3].getAttribute('class')).toBe('list-group-item active');
|
||||||
expect(debugElement.querySelectorAll('#wb-list-container > li').length).toBe(4);
|
|
||||||
expect(debugElement.querySelectorAll('#wb-list-container > li')[2].getAttribute('class')).toBe('list-group-item');
|
|
||||||
expect(debugElement.querySelectorAll('#wb-list-container > li')[3].getAttribute('class')).toBe('list-group-item active');
|
|
||||||
});
|
|
||||||
}));
|
}));
|
||||||
|
|
||||||
it('should have two workbasketsummary rows created with two different icons: user and users', fakeAsync( () => {
|
it('should have two workbasketsummary rows created with two different icons: user and users', fakeAsync( () => {
|
||||||
component.ngOnInit();
|
expect(debugElement.querySelectorAll('#wb-list-container > li')[2].querySelector('svg-icon').getAttribute('ng-reflect-src')).toBe('./assets/icons/user.svg');
|
||||||
workbasketService.getWorkBasketsSummary().subscribe(value => {
|
expect(debugElement.querySelectorAll('#wb-list-container > li')[3].querySelector('svg-icon').getAttribute('ng-reflect-src')).toBe('./assets/icons/users.svg');
|
||||||
fixture.detectChanges();
|
|
||||||
expect(debugElement.querySelectorAll('#wb-list-container > li')[2].querySelector('svg-icon').getAttribute('ng-reflect-src')).toBe('./assets/icons/user.svg');
|
|
||||||
expect(debugElement.querySelectorAll('#wb-list-container > li')[3].querySelector('svg-icon').getAttribute('ng-reflect-src')).toBe('./assets/icons/users.svg');
|
|
||||||
});
|
|
||||||
}));
|
}));
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue