Moved config to ngConstant to mount that from outside the container
Change-Id: I23169cdeeae9034ea97e94089dcdbca3179bbb23
diff --git a/src/app/core/services/navigation.spec.ts b/src/app/core/services/navigation.spec.ts
index c5fb85d..62e8d3c 100644
--- a/src/app/core/services/navigation.spec.ts
+++ b/src/app/core/services/navigation.spec.ts
@@ -8,15 +8,46 @@
let defaultRoutes: IXosNavigationRoute[];
+const mockRoutes = [
+ {
+ label: 'Slices',
+ state: 'xos.core.slices'
+ },
+ {
+ label: 'Instances',
+ state: 'xos.core.instances'
+ },
+ {
+ label: 'Nodes',
+ state: 'xos.core.nodes'
+ }
+];
+
describe('The Navigation service', () => {
- beforeEach(angular.mock.module(xosCore));
+ beforeEach(() => {
+ angular.module(xosCore)
+ .value('StyleConfig', {
+ routes: mockRoutes
+ });
+
+ angular.mock.module(xosCore);
+ });
beforeEach(angular.mock.inject((
NavigationService: IXosNavigationService,
) => {
service = NavigationService;
- defaultRoutes = angular.copy(service.query());
+ defaultRoutes = [
+ {
+ label: 'Home',
+ state: 'xos.dashboard'
+ },
+ {
+ label: 'Core',
+ state: 'xos.core'
+ }
+ ].concat(mockRoutes);
}));
it('should return navigation routes', () => {
diff --git a/src/app/core/services/navigation.ts b/src/app/core/services/navigation.ts
index d184fc2..31f2b4e 100644
--- a/src/app/core/services/navigation.ts
+++ b/src/app/core/services/navigation.ts
@@ -1,7 +1,7 @@
/// <reference path="../../../../typings/index.d.ts" />
import * as _ from 'lodash';
-import {StyleConfig} from '../../config/style.config';
+import {IXosStyleConfig} from '../../../index';
export interface IXosNavigationRoute {
label: string;
@@ -18,9 +18,12 @@
}
export class NavigationService {
+ static $inject = ['StyleConfig'];
private routes: IXosNavigationRoute[];
- constructor() {
+ constructor(
+ private StyleConfig: IXosStyleConfig
+ ) {
const defaultRoutes = [
{
label: 'Home',
@@ -34,7 +37,7 @@
// adding configuration defined routes
// this.routes = StyleConfig.routes.concat(defaultRoutes).reverse();
this.routes = defaultRoutes;
- StyleConfig.routes.forEach(r => {
+ this.StyleConfig.routes.forEach(r => {
this.add(r);
});
}
diff --git a/src/app/core/services/page-title.spec.ts b/src/app/core/services/page-title.spec.ts
index 0959e57..9e6f519 100644
--- a/src/app/core/services/page-title.spec.ts
+++ b/src/app/core/services/page-title.spec.ts
@@ -4,12 +4,20 @@
import {xosCore} from '../index';
import {IXosPageTitleService} from './page-title';
import IWindowService = angular.IWindowService;
-import {StyleConfig} from '../../config/style.config';
let service: IXosPageTitleService, $window: IWindowService;
+
+const MockStyleConfig = {
+ projectName: 'CORD'
+};
+
describe('The PageTitle service', () => {
- beforeEach(angular.mock.module(xosCore));
+ beforeEach(() => {
+ angular.module(xosCore)
+ .constant('StyleConfig', MockStyleConfig);
+ angular.mock.module(xosCore);
+ });
beforeEach(angular.mock.inject((
PageTitle: IXosPageTitleService,
@@ -26,11 +34,11 @@
it('should set a page title', () => {
service.set('sample');
- expect($window.document.title).toEqual(`${StyleConfig.projectName} - sample`);
+ expect($window.document.title).toEqual(`${MockStyleConfig.projectName} - sample`);
});
it('should convert dots to >', () => {
service.set('core.sample.bread.crumb');
- expect($window.document.title).toEqual(`${StyleConfig.projectName} - core > sample > bread > crumb`);
+ expect($window.document.title).toEqual(`${MockStyleConfig.projectName} - core > sample > bread > crumb`);
});
});
diff --git a/src/app/core/services/page-title.ts b/src/app/core/services/page-title.ts
index 865149d..e3b8d42 100644
--- a/src/app/core/services/page-title.ts
+++ b/src/app/core/services/page-title.ts
@@ -1,4 +1,4 @@
-import {StyleConfig} from '../../config/style.config';
+import {IXosStyleConfig} from '../../../index';
export interface IXosPageTitleService {
get(): string;
set(title: string): void;
@@ -6,10 +6,11 @@
}
export class PageTitle {
- static $inject = ['$window', '$transitions'];
+ static $inject = ['$window', '$transitions', 'StyleConfig'];
constructor(
private $window: angular.IWindowService,
- private $transitions: any // missing definition
+ private $transitions: any, // missing definition
+ private StyleConfig: IXosStyleConfig
) {
this.$transitions.onSuccess({ to: '**' }, (transtion) => {
this.set(transtion.$to().name);
@@ -21,7 +22,7 @@
}
set(title: string) {
- this.$window.document.title = `${StyleConfig.projectName} - ${this.formatStateName(title)}`;
+ this.$window.document.title = `${this.StyleConfig.projectName} - ${this.formatStateName(title)}`;
}
private formatStateName(stateName: string): string {