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 ); }); })