Skip to content

Commit d262480

Browse files
[DURACOM-426] fix some tests
1 parent 8c073ff commit d262480

9 files changed

Lines changed: 133 additions & 26 deletions

File tree

src/app/shared/metadata-link-view/metadata-link-view-avatar-popover/metadata-link-view-avatar-popover.component.spec.ts

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,12 @@ import {
1111
of,
1212
} from 'rxjs';
1313

14-
import { AuthService } from '../../../core/auth/auth.service';
15-
import { AuthorizationDataService } from '../../../core/data/feature-authorization/authorization-data.service';
16-
import { FileService } from '../../../core/shared/file.service';
14+
import { AuthService } from '@dspace/core/auth/auth.service';
15+
import { AuthorizationDataService } from '@dspace/core/data/feature-authorization/authorization-data.service';
16+
import { FileService } from '@dspace/core/shared/file.service';
1717
import { ThemedLoadingComponent } from '../../loading/themed-loading.component';
1818
import { MetadataLinkViewAvatarPopoverComponent } from './metadata-link-view-avatar-popover.component';
19+
import { getMockTranslateService } from "@dspace/core/testing/translate.service.mock";
1920

2021
describe('MetadataLinkViewAvatarPopoverComponent', () => {
2122
let component: MetadataLinkViewAvatarPopoverComponent;
@@ -35,19 +36,13 @@ describe('MetadataLinkViewAvatarPopoverComponent', () => {
3536
fileService = jasmine.createSpyObj('FileService', {
3637
retrieveFileDownloadLink: null,
3738
});
38-
translateServiceStub = {
39-
get: () => of('translated-text'),
40-
onLangChange: new EventEmitter(),
41-
onTranslationChange: new EventEmitter(),
42-
onDefaultLangChange: new EventEmitter(),
43-
};
4439
TestBed.configureTestingModule({
4540
imports: [MetadataLinkViewAvatarPopoverComponent],
4641
providers: [
4742
{ provide: AuthService, useValue: authService },
4843
{ provide: AuthorizationDataService, useValue: authorizationService },
4944
{ provide: FileService, useValue: fileService },
50-
{ provide: TranslateService, useValue: translateServiceStub },
45+
{ provide: TranslateService, useValue: getMockTranslateService() },
5146
],
5247
})
5348
.overrideComponent(MetadataLinkViewAvatarPopoverComponent, { remove: { imports: [ThemedLoadingComponent] } }).compileComponents();

src/app/shared/metadata-link-view/metadata-link-view-orcid/metadata-link-view-orcid.component.spec.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ import {
1010
import { Item } from 'src/app/core/shared/item.model';
1111
import { MetadataValue } from 'src/app/core/shared/metadata.models';
1212

13-
import { createSuccessfulRemoteDataObject$ } from '../../remote-data.utils';
14-
import { ConfigurationDataService } from './../../../core/data/configuration-data.service';
15-
import { TranslateLoaderMock } from './../../testing/translate-loader.mock';
13+
import { ConfigurationDataService } from '@dspace/core/data/configuration-data.service';
1614
import { MetadataLinkViewOrcidComponent } from './metadata-link-view-orcid.component';
15+
import { TranslateLoaderMock } from "@dspace/core/testing/translate-loader.mock";
16+
import { createSuccessfulRemoteDataObject$ } from "@dspace/core/utilities/remote-data.utils";
1717

1818
describe('MetadataLinkViewOrcidComponent', () => {
1919
let component: MetadataLinkViewOrcidComponent;

src/app/shared/metadata-link-view/metadata-link-view-popover/metadata-link-view-popover.component.spec.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
import { NO_ERRORS_SCHEMA } from '@angular/core';
22
import {
3-
async,
43
ComponentFixture,
5-
TestBed,
4+
TestBed, waitForAsync,
65
} from '@angular/core/testing';
76
import { By } from '@angular/platform-browser';
87
import { ActivatedRoute } from '@angular/router';
@@ -12,10 +11,10 @@ import { Item } from 'src/app/core/shared/item.model';
1211
import { MetadataValueFilter } from 'src/app/core/shared/metadata.models';
1312
import { environment } from 'src/environments/environment.test';
1413

15-
import { createSuccessfulRemoteDataObject$ } from '../../remote-data.utils';
1614
import { MetadataLinkViewAvatarPopoverComponent } from '../metadata-link-view-avatar-popover/metadata-link-view-avatar-popover.component';
1715
import { MetadataLinkViewOrcidComponent } from '../metadata-link-view-orcid/metadata-link-view-orcid.component';
1816
import { MetadataLinkViewPopoverComponent } from './metadata-link-view-popover.component';
17+
import { createSuccessfulRemoteDataObject$ } from "@dspace/core/utilities/remote-data.utils";
1918

2019
describe('MetadataLinkViewPopoverComponent', () => {
2120
let component: MetadataLinkViewPopoverComponent;
@@ -71,7 +70,7 @@ describe('MetadataLinkViewPopoverComponent', () => {
7170
thumbnail: createSuccessfulRemoteDataObject$(new Bitstream()),
7271
});
7372

74-
beforeEach(async(() => {
73+
beforeEach(waitForAsync(() => {
7574
TestBed.configureTestingModule({
7675
imports: [TranslateModule.forRoot(), MetadataLinkViewPopoverComponent],
7776
schemas: [NO_ERRORS_SCHEMA],

src/app/shared/metadata-link-view/metadata-link-view.component.spec.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,12 @@ import { ItemDataService } from '../../core/data/item-data.service';
1313
import { Item } from '../../core/shared/item.model';
1414
import { MetadataValue } from '../../core/shared/metadata.models';
1515
import { EntityIconDirective } from '../entity-icon/entity-icon.directive';
16-
import {
17-
createFailedRemoteDataObject$,
18-
createSuccessfulRemoteDataObject$,
19-
} from '../remote-data.utils';
16+
2017
import { VarDirective } from '../utils/var.directive';
2118
import { MetadataLinkViewComponent } from './metadata-link-view.component';
2219
import SpyObj = jasmine.SpyObj;
2320
import { MetadataLinkViewPopoverComponent } from './metadata-link-view-popover/metadata-link-view-popover.component';
21+
import { createFailedRemoteDataObject$, createSuccessfulRemoteDataObject$ } from "@dspace/core/utilities/remote-data.utils";
2422

2523
describe('MetadataLinkViewComponent', () => {
2624
let component: MetadataLinkViewComponent;

src/app/shared/object-list/item-list-element/item-types/item/item-list-element.component.spec.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ import { ThemeService } from '../../../../theme-support/theme.service';
2626
import { TruncatableService } from '../../../../truncatable/truncatable.service';
2727
import { TruncatePipe } from '../../../../utils/truncate.pipe';
2828
import { ItemListElementComponent } from './item-list-element.component';
29+
import { provideMockStore } from "@ngrx/store/testing";
30+
import { APP_DATA_SERVICES_MAP } from "@dspace/core/data-services-map-type";
2931

3032
const mockItem: Item = Object.assign(new Item(), {
3133
bundles: of({}),
@@ -85,8 +87,6 @@ describe('ItemListElementComponent', () => {
8587
TranslateModule.forRoot(),
8688
TruncatePipe,
8789
],
88-
declarations: [
89-
],
9090
providers: [
9191
{ provide: DSONameService, useValue: new DSONameServiceMock() },
9292
{ provide: APP_CONFIG, useValue: environment },
@@ -96,6 +96,8 @@ describe('ItemListElementComponent', () => {
9696
{ provide: ThemeService, useValue: themeService },
9797
{ provide: TruncatableService, useValue: truncatableService },
9898
{ provide: XSRFService, useValue: {} },
99+
{ provide: APP_DATA_SERVICES_MAP, useValue: {} },
100+
provideMockStore(),
99101
],
100102
}).overrideComponent(ItemListElementComponent, {
101103
set: { changeDetection: ChangeDetectionStrategy.Default },

src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.spec.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import { ThemeService } from '../../../../../theme-support/theme.service';
3030
import { TruncatableService } from '../../../../../truncatable/truncatable.service';
3131
import { TruncatePipe } from '../../../../../utils/truncate.pipe';
3232
import { ItemSearchResultListElementComponent } from './item-search-result-list-element.component';
33+
import { provideMockStore } from "@ngrx/store/testing";
3334

3435
let publicationListElementComponent: ItemSearchResultListElementComponent;
3536
let fixture: ComponentFixture<ItemSearchResultListElementComponent>;
@@ -225,6 +226,7 @@ describe('ItemSearchResultListElementComponent', () => {
225226
'invalidateAuthorizationsRequestCache',
226227
]),
227228
},
229+
provideMockStore()
228230
],
229231
schemas: [NO_ERRORS_SCHEMA],
230232
}).overrideComponent(ItemSearchResultListElementComponent, {

src/app/shared/object-list/search-result-list-element/search-result-list-element.component.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ export class SearchResultListElementComponent<T extends SearchResult<K>, K exten
3131
/**
3232
* Limit of additional metadata values to show
3333
*/
34-
additionalMetadataLimit;
34+
additionalMetadataLimit: number;
3535

3636
public constructor(protected truncatableService: TruncatableService,
3737
public dsoNameService: DSONameService,
@@ -43,7 +43,7 @@ export class SearchResultListElementComponent<T extends SearchResult<K>, K exten
4343
* Retrieve the dso from the search result
4444
*/
4545
ngOnInit(): void {
46-
this.additionalMetadataLimit = this.appConfig.followAuthorityMetadataValuesLimit;
46+
this.additionalMetadataLimit = this.appConfig?.followAuthorityMetadataValuesLimit;
4747
if (hasValue(this.object)) {
4848
this.dso = this.object.indexableObject;
4949
this.dsoTitle = this.dsoNameService.getHitHighlights(this.object, this.dso, true);

src/app/shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.spec.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ import { TranslateModule } from '@ngx-translate/core';
1717

1818
import { TruncatableService } from '../../truncatable/truncatable.service';
1919
import { VarDirective } from '../../utils/var.directive';
20+
import { TruncatablePartComponent } from "../../truncatable/truncatable-part/truncatable-part.component";
21+
import { APP_CONFIG } from "@dspace/config/app-config.interface";
2022

2123
export function createSidebarSearchListElementTests(
2224
componentClass: any,
@@ -33,6 +35,12 @@ export function createSidebarSearchListElementTests(
3335

3436
let linkService;
3537

38+
const environment = {
39+
browseBy: {
40+
showThumbnails: true,
41+
},
42+
};
43+
3644
beforeEach(waitForAsync(() => {
3745
linkService = jasmine.createSpyObj('linkService', {
3846
resolveLink: Object.assign(new HALResource(), {
@@ -44,11 +52,12 @@ export function createSidebarSearchListElementTests(
4452
providers: [
4553
{ provide: TruncatableService, useValue: mockTruncatableService },
4654
{ provide: LinkService, useValue: linkService },
55+
{ provide: APP_CONFIG, useValue: environment },
4756
DSONameService,
4857
...extraProviders,
4958
],
5059
schemas: [NO_ERRORS_SCHEMA],
51-
}).compileComponents();
60+
}).overrideComponent(componentClass, { remove: { imports: [TruncatablePartComponent] } }).compileComponents();
5261
}));
5362

5463
beforeEach(() => {

src/environments/environment.test.ts

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22
import { NotificationAnimationsType } from '@dspace/config/notifications-config.interfaces';
33
import { RestRequestMethod } from '@dspace/config/rest-request-method';
44
import { BuildConfig } from 'src/config/build-config.interface';
5+
import { CrisLayoutConfig } from "@dspace/config/layout-config.interfaces";
6+
import { SearchResultConfig } from "@dspace/config/search-result-config.interface";
7+
import { MetadataLinkViewPopoverDataConfig } from "@dspace/config/metadata-link-view-popoverdata-config.interface";
8+
import { IdentifierSubtypesConfig } from "@dspace/config/identifier-subtypes-config.interface";
9+
import { FollowAuthorityMetadata } from "@dspace/config/search-follow-metadata.interface";
510

611
export const environment: BuildConfig = {
712
production: false,
@@ -476,4 +481,101 @@ export const environment: BuildConfig = {
476481
accessibility: {
477482
cookieExpirationDuration: 7,
478483
},
484+
485+
crisLayout: {
486+
crisRef: [
487+
{
488+
entityType: 'DEFAULT',
489+
entityStyle: {
490+
default: {
491+
icon: 'fa fa-info',
492+
style: 'text-info',
493+
},
494+
},
495+
},
496+
{
497+
entityType: 'PERSON',
498+
entityStyle: {
499+
default: {
500+
icon: 'fa fa-user',
501+
style: 'text-info',
502+
},
503+
},
504+
},
505+
{
506+
entityType: 'ORGUNIT',
507+
entityStyle: {
508+
default: {
509+
icon: 'fa fa-university',
510+
style: 'text-info',
511+
},
512+
},
513+
},
514+
{
515+
entityType: 'PROJECT',
516+
entityStyle: {
517+
default: {
518+
icon: 'fas fa-project-diagram',
519+
style: 'text-info',
520+
},
521+
},
522+
},
523+
],
524+
crisRefStyleMetadata: {
525+
default: 'cris.entity.style',
526+
},
527+
},
528+
529+
searchResult: {
530+
additionalMetadataFields: [],
531+
authorMetadata: ['dc.contributor.author', 'dc.creator', 'dc.contributor.*'],
532+
},
533+
534+
metadataLinkViewPopoverData: {
535+
fallbackMetdataList: ['dc.description.abstract'],
536+
537+
entityDataConfig: [
538+
{
539+
entityType: 'Person',
540+
metadataList: ['person.affiliation.name', 'person.email', 'person.identifier.orcid', 'dc.description.abstract'],
541+
},
542+
{
543+
entityType: 'OrgUnit',
544+
metadataList: ['organization.parentOrganization', 'organization.identifier.ror', 'crisou.director', 'dc.description.abstract'],
545+
},
546+
{
547+
entityType: 'Project',
548+
metadataList: ['oairecerif.project.status', 'dc.description.abstract'],
549+
},
550+
{
551+
entityType: 'Funding',
552+
metadataList: ['oairecerif.funder', 'oairecerif.fundingProgram', 'dc.description.abstract'],
553+
},
554+
{
555+
entityType: 'Publication',
556+
metadataList: ['dc.identifier.doi', 'dc.identifier.uri', 'dc.description.abstract'],
557+
},
558+
],
559+
},
560+
561+
identifierSubtypes: [],
562+
563+
followAuthorityMaxItemLimit: 100,
564+
565+
followAuthorityMetadataValuesLimit: 5,
566+
567+
followAuthorityMetadata: [
568+
{
569+
type: 'Publication',
570+
metadata: ['dc.contributor.author'],
571+
},
572+
{
573+
type: 'Product',
574+
metadata: ['dc.contributor.author'],
575+
},
576+
{
577+
type: 'Patent',
578+
metadata: ['dc.contributor.author'],
579+
},
580+
]
479581
};

0 commit comments

Comments
 (0)