Moved spec files to external folder

Change-Id: Idf6489dd0e385764c17e5d9b1b831d7d9fae448c
diff --git a/src/app/hello.spec.ts b/src/app/hello.spec.ts
deleted file mode 100644
index d127a2a..0000000
--- a/src/app/hello.spec.ts
+++ /dev/null
@@ -1,57 +0,0 @@
-/// <reference path="../../typings/index.d.ts"/>
-
-import { MockBackend } from '@angular/http/testing';
-import {TestBed, async} from '@angular/core/testing';
-import {Router} from '@angular/router';
-import {HelloComponent} from './hello';
-import {LogoutComponent} from './components/logout/logout.component';
-import {StyleConfig} from './config/style.config';
-import { Http, BaseRequestOptions } from '@angular/http';
-import {CookieService} from 'angular2-cookie/services/cookies.service';
-import {XosHttp} from './services/rest/xoshttp.service';
-import {InstanceStore} from './services/stores/instance.store';
-import {GlobalEvent} from './services/websockets/websocket.global';
-import {AuthService} from './services/rest/auth.service';
-import {InstanceService} from './services/rest/instance.service';
-import {SliceService} from './services/rest/slices.service';
-
-describe('hello component', () => {
-  beforeEach(async(() => {
-    TestBed.configureTestingModule({
-      declarations: [
-        HelloComponent,
-        LogoutComponent
-      ],
-      providers: [
-        {
-          provide: Http,
-          useFactory: (mockBackend, options) => {
-            return new Http(mockBackend, options);
-          },
-          deps: [MockBackend, BaseRequestOptions]
-        },
-        MockBackend,
-        BaseRequestOptions,
-        CookieService,
-        {
-          provide: Router,
-          useClass: class { navigate = jasmine.createSpy('navigate'); }
-        },
-        XosHttp,
-        InstanceStore,
-        GlobalEvent,
-        AuthService,
-        InstanceService,
-        SliceService
-      ]
-    });
-    TestBed.compileComponents();
-  }));
-
-  it('should render hello world', () => {
-    const fixture = TestBed.createComponent(HelloComponent);
-    fixture.detectChanges();
-    const hello = fixture.nativeElement;
-    expect(hello.querySelector('h1').textContent).toBe(`Hello ${StyleConfig.projectName}!`);
-  });
-});
diff --git a/src/app/services/helpers/store.service.spec.ts b/src/app/services/helpers/store.service.spec.ts
deleted file mode 100644
index d70d649..0000000
--- a/src/app/services/helpers/store.service.spec.ts
+++ /dev/null
@@ -1,88 +0,0 @@
-
-import {ObservableCollectionHandler} from './store.service';
-import {IWSEvent} from '../../interfaces/ws.interface';
-import {BehaviorSubject} from 'rxjs';
-
-describe('Service: Observable Collection Handler', () => {
-
-  let subject: BehaviorSubject<any>;
-  let observable;
-
-  beforeEach(() => {
-    subject = new BehaviorSubject([]);
-    observable = subject.asObservable();
-  });
-
-  it('Should have an update method', () => {
-    expect(ObservableCollectionHandler.update).toBeDefined();
-  });
-
-  it('should add an element to the observable', (done) => {
-    const event: IWSEvent = {
-      model: 'Test',
-      msg: {
-        pk: 1,
-        changed_fields: [],
-        object: {id: 1, foo: 'bar'}
-      }
-    };
-
-    ObservableCollectionHandler.update(event, subject);
-
-    subject.subscribe(
-      (collection: any[]) => {
-        expect(collection.length).toBe(1);
-        expect(collection[0].foo).toEqual('bar');
-        done();
-      }
-    );
-  });
-
-  describe('when the subject already have content', () => {
-    beforeEach(() => {
-      subject.next([{id: 1, foo: 'bar'}, {id: 2, foo: 'baz'}]);
-    });
-
-    it('should update an element', (done) => {
-      const event: IWSEvent = {
-        model: 'Test',
-        msg: {
-          pk: 1,
-          changed_fields: [],
-          object: {id: 1, foo: 'updated'}
-        }
-      };
-
-      ObservableCollectionHandler.update(event, subject);
-
-      subject.subscribe(
-        (collection: any[]) => {
-          expect(collection.length).toBe(2);
-          expect(collection[0].foo).toEqual('updated');
-          done();
-        }
-      );
-    });
-
-    it('should delete an element', (done) => {
-      const event: IWSEvent = {
-        model: 'Test',
-        msg: {
-          pk: 1,
-          changed_fields: ['deleted'],
-          object: {id: 1, foo: 'deleted'}
-        }
-      };
-
-      ObservableCollectionHandler.update(event, subject);
-
-      subject.subscribe(
-        (collection: any[]) => {
-          expect(collection.length).toBe(1);
-          expect(collection[0].foo).toEqual('baz');
-          done();
-        }
-      );
-    });
-  });
-});
diff --git a/src/index.spec.js b/src/index.spec.js
index e2bdbd0..1b6bb82 100644
--- a/src/index.spec.js
+++ b/src/index.spec.js
@@ -11,16 +11,34 @@
 require('zone.js/dist/jasmine-patch');
 require('zone.js/dist/async-test');
 require('zone.js/dist/fake-async-test');
+
+// loading app files
 const context = require.context('./app', true, /\.(js|ts|tsx)$/);
-// context.keys().forEach(context);
-context.keys().forEach(function(path) {
-  try {
-    context(path);
-  } catch(err) {
-    console.error('[ERROR] WITH SPEC FILE: ', path);
-    console.error(err);
-  }
-});
+context.keys().forEach(context);
+
+// use this for debug
+// context.keys().forEach(function(path) {
+//   try {
+//     context(path);
+//   } catch(err) {
+//     console.error('[ERROR] WITH SPEC FILE: ', path);
+//     console.error(err);
+//   }
+// });
+
+// loading specs
+const specFiles = require.context('../spec', true, /\.(js|ts|tsx)$/);
+specFiles.keys().forEach(specFiles);
+// use this for debug
+// specFiles.keys().forEach(function(path) {
+//   try {
+//     specFiles(path);
+//   } catch(err) {
+//     console.error('[ERROR] WITH SPEC FILE: ', path);
+//     console.error(err);
+//   }
+// });
+
 const testing = require('@angular/core/testing');
 const testingBrowser = require('@angular/platform-browser-dynamic/testing');