diff --git a/dspace-angular.iml b/dspace-angular.iml
new file mode 100644
index 0000000000..5806390693
--- /dev/null
+++ b/dspace-angular.iml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/app/object-collection/object-collection.component.spec.ts b/src/app/object-collection/object-collection.component.spec.ts
new file mode 100644
index 0000000000..abbf66e4f1
--- /dev/null
+++ b/src/app/object-collection/object-collection.component.spec.ts
@@ -0,0 +1,52 @@
+import { ObjectCollectionComponent } from './object-collection.component';
+import { ViewMode } from '../+search-page/search-options.model';
+import { element } from 'protractor';
+import { By } from '@angular/platform-browser';
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+import { Config } from '../../config/config.interface';
+import { NO_ERRORS_SCHEMA } from '@angular/core';
+import { ActivatedRoute, Router } from '@angular/router';
+import { Observable } from 'rxjs/Observable';
+import { RouterStub } from '../shared/testing/router-stub';
+
+describe('ObjectCollectionComponent', () => {
+ let fixture: ComponentFixture;
+ let objectCollectionComponent: ObjectCollectionComponent;
+ const queryParam = 'test query';
+ const scopeParam = '7669c72a-3f2a-451f-a3b9-9210e7a4c02f';
+ const activatedRouteStub = {
+ queryParams: Observable.of({
+ query: queryParam,
+ scope: scopeParam
+ })
+ };
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [ ObjectCollectionComponent ],
+ providers: [
+ { provide: ActivatedRoute, useValue: activatedRouteStub },
+ { provide: Router, useClass: RouterStub }
+ ],
+ schemas: [ NO_ERRORS_SCHEMA ]
+ }).compileComponents(); // compile template and css
+ }));
+
+ beforeEach(async(() => {
+ fixture = TestBed.createComponent(ObjectCollectionComponent);
+ objectCollectionComponent = fixture.componentInstance;
+ }));
+ it('should only show the grid component when the viewmode is set to grid', () => {
+ objectCollectionComponent.currentMode = ViewMode.Grid;
+
+ // expect(By.css('ds-object-grid')).toEqual(1);
+ // expect(By.css('ds-object-list')).toEqual(0);
+ });
+
+ it('should only show the list component when the viewmode is set to list', () => {
+ objectCollectionComponent.currentMode = ViewMode.List;
+
+ // expect(By.css('ds-object-list').length).toEqual(1);
+ // expect(By.css('ds-object-grid').length).toEqual(0);
+ })
+
+});
diff --git a/src/app/object-collection/shared/dso-element-decorator.spec.ts b/src/app/object-collection/shared/dso-element-decorator.spec.ts
new file mode 100644
index 0000000000..952afb9ac3
--- /dev/null
+++ b/src/app/object-collection/shared/dso-element-decorator.spec.ts
@@ -0,0 +1,16 @@
+import { ViewMode } from '../../+search-page/search-options.model';
+import { renderElementsFor } from './dso-element-decorator';
+import { Item } from '../../core/shared/item.model';
+
+describe('ElementDecorator', () => {
+ let gridDecorator = renderElementsFor(Item, ViewMode.Grid);
+ let listDecorator = renderElementsFor(Item, ViewMode.List);
+ it('should have a decorator for both list and grid', () => {
+ expect(listDecorator.length).not.toBeNull();
+ expect(gridDecorator.length).not.toBeNull();
+ });
+ it('should have 2 separate decorators for grid and list', () => {
+ expect(listDecorator).not.toEqual(gridDecorator);
+ });
+
+});
diff --git a/src/app/object-grid/collection-grid-element/collection-grid-element.component.spec.ts b/src/app/object-grid/collection-grid-element/collection-grid-element.component.spec.ts
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/app/object-grid/grid-thumbnail/grid-thumbnail.component.spec.ts b/src/app/object-grid/grid-thumbnail/grid-thumbnail.component.spec.ts
index f4ca434221..209ac52997 100644
--- a/src/app/object-grid/grid-thumbnail/grid-thumbnail.component.spec.ts
+++ b/src/app/object-grid/grid-thumbnail/grid-thumbnail.component.spec.ts
@@ -2,24 +2,24 @@ import { ComponentFixture, TestBed, async } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { DebugElement } from '@angular/core';
-import { ThumbnailComponent } from './thumbnail.component';
+import { GridThumbnailComponent } from './grid-thumbnail.component';
import { Bitstream } from '../../core/shared/bitstream.model';
import { SafeUrlPipe } from '../../shared/utils/safe-url-pipe';
describe('ThumbnailComponent', () => {
- let comp: ThumbnailComponent;
- let fixture: ComponentFixture;
+ let comp: GridThumbnailComponent;
+ let fixture: ComponentFixture;
let de: DebugElement;
let el: HTMLElement;
beforeEach(async(() => {
TestBed.configureTestingModule({
- declarations: [ThumbnailComponent, SafeUrlPipe]
+ declarations: [GridThumbnailComponent, SafeUrlPipe]
}).compileComponents();
}));
beforeEach(() => {
- fixture = TestBed.createComponent(ThumbnailComponent);
+ fixture = TestBed.createComponent(GridThumbnailComponent);
comp = fixture.componentInstance; // BannerComponent test instance
de = fixture.debugElement.query(By.css('div.thumbnail'));
el = de.nativeElement;
diff --git a/src/app/object-grid/item-grid-element/item-grid-element.component.spec.ts b/src/app/object-grid/item-grid-element/item-grid-element.component.spec.ts
new file mode 100644
index 0000000000..0da99aa697
--- /dev/null
+++ b/src/app/object-grid/item-grid-element/item-grid-element.component.spec.ts
@@ -0,0 +1,6 @@
+import { ItemGridElementComponent } from './item-grid-element.component';
+
+describe('ItemGridElementComponent',()=>{
+ let itemGridElementComponent: ItemGridElementComponent;
+
+})
diff --git a/src/app/object-grid/object-grid.component.spec.ts b/src/app/object-grid/object-grid.component.spec.ts
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/app/object-grid/wrapper-grid-element/wrapper-grid-element.component.spec.ts b/src/app/object-grid/wrapper-grid-element/wrapper-grid-element.component.spec.ts
new file mode 100644
index 0000000000..e69de29bb2