diff --git a/src/app/item-page/orcid-page/orcid-page.component.html b/src/app/item-page/orcid-page/orcid-page.component.html
index c105ba6127..91c49596b6 100644
--- a/src/app/item-page/orcid-page/orcid-page.component.html
+++ b/src/app/item-page/orcid-page/orcid-page.component.html
@@ -1,7 +1,9 @@
-
+
diff --git a/src/app/item-page/orcid-page/orcid-page.component.spec.ts b/src/app/item-page/orcid-page/orcid-page.component.spec.ts
new file mode 100644
index 0000000000..1d61f18c3e
--- /dev/null
+++ b/src/app/item-page/orcid-page/orcid-page.component.spec.ts
@@ -0,0 +1,113 @@
+import { NO_ERRORS_SCHEMA } from '@angular/core';
+import { ActivatedRoute } from '@angular/router';
+import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
+import { RouterTestingModule } from '@angular/router/testing';
+import { By } from '@angular/platform-browser';
+
+import { of as observableOf } from 'rxjs';
+import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
+
+import { AuthService } from '../../core/auth/auth.service';
+import { ActivatedRouteStub } from '../../shared/testing/active-router.stub';
+import { ResearcherProfileService } from '../../core/profile/researcher-profile.service';
+import { OrcidPageComponent } from './orcid-page.component';
+import { createSuccessfulRemoteDataObject, createSuccessfulRemoteDataObject$ } from '../../shared/remote-data.utils';
+import { Item } from '../../core/shared/item.model';
+import { createPaginatedList } from '../../shared/testing/utils.test';
+import { TranslateLoaderMock } from '../../shared/mocks/translate-loader.mock';
+
+fdescribe('OrcidPageComponent test suite', () => {
+ let comp: OrcidPageComponent;
+ let fixture: ComponentFixture
;
+
+ let authService: jasmine.SpyObj;
+ let routeStub: jasmine.SpyObj;
+ let routeData: any;
+ let researcherProfileService: jasmine.SpyObj;
+
+ const mockItem: Item = Object.assign(new Item(), {
+ bundles: createSuccessfulRemoteDataObject$(createPaginatedList([])),
+ metadata: {
+ 'dc.title': [
+ {
+ language: 'en_US',
+ value: 'test item'
+ }
+ ]
+ }
+ });
+ const mockItemLinkedToOrcid: Item = Object.assign(new Item(), {
+ bundles: createSuccessfulRemoteDataObject$(createPaginatedList([])),
+ metadata: {
+ 'dc.title': [
+ {
+ value: 'test item'
+ }
+ ],
+ 'dspace.orcid.authenticated': [
+ {
+ value: 'true'
+ }
+ ]
+ }
+ });
+
+ beforeEach(waitForAsync(() => {
+ authService = jasmine.createSpyObj('authService', {
+ isAuthenticated: jasmine.createSpy('isAuthenticated'),
+ navigateByUrl: jasmine.createSpy('navigateByUrl')
+ });
+
+ routeData = {
+ dso: createSuccessfulRemoteDataObject(mockItem),
+ };
+
+ routeStub = Object.assign(new ActivatedRouteStub(), {
+ data: observableOf(routeData)
+ });
+
+ researcherProfileService = jasmine.createSpyObj('researcherProfileService', {
+ isLinkedToOrcid: jasmine.createSpy('isLinkedToOrcid')
+ });
+
+ void TestBed.configureTestingModule({
+ imports: [
+ TranslateModule.forRoot({
+ loader: {
+ provide: TranslateLoader,
+ useClass: TranslateLoaderMock
+ }
+ }),
+ RouterTestingModule.withRoutes([])
+ ],
+ declarations: [OrcidPageComponent],
+ providers: [
+ { provide: ActivatedRoute, useValue: routeStub },
+ { provide: ResearcherProfileService, useValue: researcherProfileService },
+ { provide: AuthService, useValue: authService },
+ ],
+
+ schemas: [NO_ERRORS_SCHEMA]
+ }).compileComponents();
+ }));
+
+ beforeEach(waitForAsync(() => {
+ fixture = TestBed.createComponent(OrcidPageComponent);
+ comp = fixture.componentInstance;
+ authService.isAuthenticated.and.returnValue(observableOf(true));
+ fixture.detectChanges();
+ }));
+
+ it('should create', () => {
+ const btn = fixture.debugElement.queryAll(By.css('[data-test="back-button"]'));
+ expect(comp).toBeTruthy();
+ expect(btn.length).toBe(1);
+ });
+
+ it('should call isLinkedToOrcid', () => {
+ comp.isLinkedToOrcid();
+
+ expect(researcherProfileService.isLinkedToOrcid).toHaveBeenCalledWith(comp.item);
+ });
+
+});