diff --git a/src/app/+item-page/edit-item-page/item-relationships/edit-relationship-list/edit-relationship-list.component.spec.ts b/src/app/+item-page/edit-item-page/item-relationships/edit-relationship-list/edit-relationship-list.component.spec.ts
index 9b2bb3c9923b924b952a971a10a70e8e5a61d149..cede48e6ee40fcd373009ebad87ece857da50deb 100644
--- a/src/app/+item-page/edit-item-page/item-relationships/edit-relationship-list/edit-relationship-list.component.spec.ts
+++ b/src/app/+item-page/edit-item-page/item-relationships/edit-relationship-list/edit-relationship-list.component.spec.ts
@@ -36,7 +36,16 @@ let entityType;
 let relatedEntityType;
 
 describe('EditRelationshipListComponent', () => {
-  beforeEach(async(() => {
+
+  beforeEach(() => {
+
+    entityType = Object.assign(new ItemType(), {
+      id: 'entityType',
+    });
+
+    relatedEntityType = Object.assign(new ItemType(), {
+      id: 'relatedEntityType',
+    });
 
     relationshipType = Object.assign(new RelationshipType(), {
       id: '1',
@@ -82,14 +91,6 @@ describe('EditRelationshipListComponent', () => {
       ))
     });
 
-    entityType = Object.assign(new ItemType(), {
-      id: 'entityType',
-    });
-
-    relatedEntityType = Object.assign(new ItemType(), {
-      id: 'relatedEntityType',
-    });
-
     author1 = Object.assign(new Item(), {
       id: 'author1',
       uuid: 'author1'
@@ -145,24 +146,23 @@ describe('EditRelationshipListComponent', () => {
         NO_ERRORS_SCHEMA
       ]
     }).compileComponents();
-  }));
 
-  beforeEach(() => {
     fixture = TestBed.createComponent(EditRelationshipListComponent);
     comp = fixture.componentInstance;
     de = fixture.debugElement;
+
     comp.item = item;
+    comp.itemType = entityType;
     comp.url = url;
     comp.relationshipType = relationshipType;
+
     fixture.detectChanges();
   });
 
   describe('changeType is REMOVE', () => {
-    beforeEach(() => {
-      fieldUpdate1.changeType = FieldChangeType.REMOVE;
-      fixture.detectChanges();
-    });
     it('the div should have class alert-danger', () => {
+
+      fieldUpdate1.changeType = FieldChangeType.REMOVE;
       const element = de.queryAll(By.css('.relationship-row'))[1].nativeElement;
       expect(element.classList).toContain('alert-danger');
     });
diff --git a/src/app/+item-page/edit-item-page/item-relationships/edit-relationship/edit-relationship.component.spec.ts b/src/app/+item-page/edit-item-page/item-relationships/edit-relationship/edit-relationship.component.spec.ts
index d0de197d9f50e416679f902d9f0e4166bfc4e745..70cdacd1578d24854f192e3b348cf527c28374b3 100644
--- a/src/app/+item-page/edit-item-page/item-relationships/edit-relationship/edit-relationship.component.spec.ts
+++ b/src/app/+item-page/edit-item-page/item-relationships/edit-relationship/edit-relationship.component.spec.ts
@@ -31,7 +31,9 @@ let de;
 let el;
 
 describe('EditRelationshipComponent', () => {
+
   beforeEach(async(() => {
+
     relationshipType = Object.assign(new RelationshipType(), {
       id: '1',
       uuid: '1',
@@ -95,8 +97,8 @@ describe('EditRelationshipComponent', () => {
 
     objectUpdatesService = {
       isSelectedVirtualMetadata: () => null,
-      removeSingleFieldUpdate: () => null,
-      saveRemoveFieldUpdate: () => null,
+      removeSingleFieldUpdate: jasmine.createSpy('removeSingleFieldUpdate'),
+      saveRemoveFieldUpdate: jasmine.createSpy('saveRemoveFieldUpdate'),
     };
 
     spyOn(objectUpdatesService, 'isSelectedVirtualMetadata').and.callFake((a, b, uuid) => observableOf(itemSelection[uuid]));
@@ -118,6 +120,7 @@ describe('EditRelationshipComponent', () => {
   }));
 
   beforeEach(() => {
+
     fixture = TestBed.createComponent(EditRelationshipComponent);
     comp = fixture.componentInstance;
     de = fixture.debugElement;
@@ -170,37 +173,30 @@ describe('EditRelationshipComponent', () => {
   });
 
   describe('remove', () => {
+
     beforeEach(() => {
       spyOn(comp, 'closeVirtualMetadataModal');
-      spyOn(objectUpdatesService, 'saveRemoveFieldUpdate');
       comp.ngOnChanges();
       comp.remove();
     });
 
     it('should close the virtual metadata modal and call saveRemoveFieldUpdate with the correct arguments', () => {
-      fixture.whenStable(() => {
-        expect(comp.closeVirtualMetadataModal).toHaveBeenCalled();
-        expect(objectUpdatesService.saveRemoveFieldUpdate).toHaveBeenCalledWith(url, Object.assign({}, fieldUpdate1.field, {
+      expect(comp.closeVirtualMetadataModal).toHaveBeenCalled();
+      expect(objectUpdatesService.saveRemoveFieldUpdate).toHaveBeenCalledWith(
+        url,
+        Object.assign({}, fieldUpdate1.field, {
           keepLeftVirtualMetadata: false,
           keepRightVirtualMetadata: true,
-        }));
-      });
+        }),
+      );
     });
   });
 
   describe('undo', () => {
-    beforeEach(() => {
-      comp.undo();
-      comp.ngOnChanges();
-    });
 
     it('should call removeSingleFieldUpdate with the correct arguments', () => {
-
-      fixture.whenStable().then(() => {
-        expect(spyOn(objectUpdatesService, 'removeSingleFieldUpdate'))
-          .toHaveBeenCalledWith(url, fieldUpdate1[0]);
-      })
+      comp.undo();
+      expect(objectUpdatesService.removeSingleFieldUpdate).toHaveBeenCalledWith(url, relationships[0].uuid);
     });
   });
-
 });
diff --git a/src/app/+item-page/edit-item-page/virtual-metadata/virtual-metadata.component.html b/src/app/+item-page/edit-item-page/virtual-metadata/virtual-metadata.component.html
index 15bcce2e1f7a8de1ad79ea57cfeb8687c766d241..c103d83c71e68eeae77595968270b9f78d1dea9c 100644
--- a/src/app/+item-page/edit-item-page/virtual-metadata/virtual-metadata.component.html
+++ b/src/app/+item-page/edit-item-page/virtual-metadata/virtual-metadata.component.html
@@ -8,7 +8,7 @@
         <ng-container *ngFor="let item of items; trackBy: trackItem">
             <div *ngVar="(isSelectedVirtualMetadataItem(item) | async) as selected"
                  (click)="setSelectedVirtualMetadataItem(item, !selected)"
-                 class="d-flex flex-row">
+                 class="item d-flex flex-row">
                 <div class="m-2">
                     <label>
                         <input class="select" type="checkbox" [checked]="selected">
diff --git a/src/app/+item-page/edit-item-page/virtual-metadata/virtual-metadata.component.spec.ts b/src/app/+item-page/edit-item-page/virtual-metadata/virtual-metadata.component.spec.ts
index 98b4e2e04432fe73b3952aed1aacb515e01c8d37..f2732d081a04b2241230948759c94440e4599ece 100644
--- a/src/app/+item-page/edit-item-page/virtual-metadata/virtual-metadata.component.spec.ts
+++ b/src/app/+item-page/edit-item-page/virtual-metadata/virtual-metadata.component.spec.ts
@@ -87,16 +87,15 @@ describe('VirtualMetadataComponent', () => {
 
   describe('when selecting an item', () => {
     it('should call the updates service setSelectedVirtualMetadata method', () => {
+
       fixture.debugElement
-        .query(By.css('input.select'))
+        .query(By.css('div.item'))
         .triggerEventHandler('click', null);
-      fixture.whenStable().then(() =>
-        expect(objectUpdatesService.setSelectedVirtualMetadata).toHaveBeenCalledWith(
-          url,
-          relationshipId,
-          item.uuid,
-          true
-        )
+      expect(objectUpdatesService.setSelectedVirtualMetadata).toHaveBeenCalledWith(
+        url,
+        relationshipId,
+        item.uuid,
+        true
       );
     });
   })