Skip to content

Commit 1779b1f

Browse files
authored
Merge pull request DSpace#1872 from atmire/w2p-93963-Add_support_for_line_breaks_markdown_and_mathjax_in_metadata
repair tests bis
2 parents e24f0e3 + 3b65388 commit 1779b1f

9 files changed

Lines changed: 72 additions & 28 deletions

src/app/item-page/field-components/metadata-uri-values/metadata-uri-values.component.spec.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import { By } from '@angular/platform-browser';
66
import { MetadataUriValuesComponent } from './metadata-uri-values.component';
77
import { isNotEmpty } from '../../../shared/empty.util';
88
import { MetadataValue } from '../../../core/shared/metadata.models';
9+
import { APP_CONFIG } from '../../../../config/app-config.interface';
10+
import { environment } from '../../../../environments/environment';
911

1012
let comp: MetadataUriValuesComponent;
1113
let fixture: ComponentFixture<MetadataUriValuesComponent>;
@@ -33,6 +35,9 @@ describe('MetadataUriValuesComponent', () => {
3335
useClass: TranslateLoaderMock
3436
}
3537
})],
38+
providers: [
39+
{ provide: APP_CONFIG, useValue: environment },
40+
],
3641
declarations: [MetadataUriValuesComponent],
3742
schemas: [NO_ERRORS_SCHEMA]
3843
}).overrideComponent(MetadataUriValuesComponent, {

src/app/item-page/field-components/metadata-values/metadata-values.component.spec.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import { TranslateLoaderMock } from '../../../shared/mocks/translate-loader.mock
55
import { MetadataValuesComponent } from './metadata-values.component';
66
import { By } from '@angular/platform-browser';
77
import { MetadataValue } from '../../../core/shared/metadata.models';
8+
import { APP_CONFIG } from '../../../../config/app-config.interface';
9+
import { environment } from '../../../../environments/environment';
810

911
let comp: MetadataValuesComponent;
1012
let fixture: ComponentFixture<MetadataValuesComponent>;
@@ -32,8 +34,11 @@ describe('MetadataValuesComponent', () => {
3234
loader: {
3335
provide: TranslateLoader,
3436
useClass: TranslateLoaderMock
35-
}
37+
},
3638
})],
39+
providers: [
40+
{ provide: APP_CONFIG, useValue: environment },
41+
],
3742
declarations: [MetadataValuesComponent],
3843
schemas: [NO_ERRORS_SCHEMA]
3944
}).overrideComponent(MetadataValuesComponent, {

src/app/item-page/field-components/metadata-values/metadata-values.component.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import { Component, Input, OnChanges, SimpleChanges } from '@angular/core';
1+
import { Component, Inject, Input, OnChanges, SimpleChanges } from '@angular/core';
22
import { MetadataValue } from '../../../core/shared/metadata.models';
3-
import { environment } from '../../../../environments/environment';
3+
import { APP_CONFIG, AppConfig } from '../../../../config/app-config.interface';
44

55
/**
66
* This component renders the configured 'values' into the ds-metadata-field-wrapper component.
@@ -13,6 +13,11 @@ import { environment } from '../../../../environments/environment';
1313
})
1414
export class MetadataValuesComponent implements OnChanges {
1515

16+
constructor(
17+
@Inject(APP_CONFIG) private appConfig: AppConfig,
18+
) {
19+
}
20+
1621
/**
1722
* The metadata values to display
1823
*/
@@ -41,6 +46,6 @@ export class MetadataValuesComponent implements OnChanges {
4146
renderMarkdown;
4247

4348
ngOnChanges(changes: SimpleChanges): void {
44-
this.renderMarkdown = !!environment.markdown.enabled && this.enableMarkdown;
49+
this.renderMarkdown = !!this.appConfig.markdown.enabled && this.enableMarkdown;
4550
}
4651
}

src/app/item-page/simple/field-components/specific-field/abstract/item-page-abstract-field.component.spec.ts

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,14 @@ import { ChangeDetectionStrategy, NO_ERRORS_SCHEMA } from '@angular/core';
33
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
44
import { ItemPageAbstractFieldComponent } from './item-page-abstract-field.component';
55
import { TranslateLoaderMock } from '../../../../../shared/testing/translate-loader.mock';
6-
import { MetadataValuesComponent } from '../../../../field-components/metadata-values/metadata-values.component';
7-
import { mockItemWithMetadataFieldAndValue } from '../item-page-field.component.spec';
86
import { SharedModule } from '../../../../../shared/shared.module';
7+
import { APP_CONFIG } from '../../../../../../config/app-config.interface';
8+
import { environment } from '../../../../../../environments/environment';
9+
import { By } from '@angular/platform-browser';
910

1011
let comp: ItemPageAbstractFieldComponent;
1112
let fixture: ComponentFixture<ItemPageAbstractFieldComponent>;
1213

13-
const mockField = 'dc.description.abstract';
14-
const mockValue = 'test value';
15-
1614
describe('ItemPageAbstractFieldComponent', () => {
1715
beforeEach(waitForAsync(() => {
1816
TestBed.configureTestingModule({
@@ -25,21 +23,24 @@ describe('ItemPageAbstractFieldComponent', () => {
2523
}),
2624
SharedModule,
2725
],
28-
declarations: [ItemPageAbstractFieldComponent, MetadataValuesComponent],
26+
providers: [
27+
{ provide: APP_CONFIG, useValue: environment },
28+
],
29+
declarations: [ItemPageAbstractFieldComponent],
2930
schemas: [NO_ERRORS_SCHEMA]
3031
}).overrideComponent(ItemPageAbstractFieldComponent, {
3132
set: { changeDetection: ChangeDetectionStrategy.Default }
3233
}).compileComponents();
3334
}));
3435

3536
beforeEach(waitForAsync(() => {
37+
3638
fixture = TestBed.createComponent(ItemPageAbstractFieldComponent);
3739
comp = fixture.componentInstance;
38-
comp.item = mockItemWithMetadataFieldAndValue(mockField, mockValue);
3940
fixture.detectChanges();
4041
}));
4142

42-
it('should display display the correct metadata value', () => {
43-
expect(fixture.nativeElement.innerHTML).toContain(mockValue);
43+
it('should render a ds-metadata-values', () => {
44+
expect(fixture.debugElement.query(By.css('ds-metadata-values'))).toBeDefined();
4445
});
4546
});

src/app/item-page/simple/field-components/specific-field/author/item-page-author-field.component.spec.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import { TranslateLoaderMock } from '../../../../../shared/testing/translate-loa
55
import { MetadataValuesComponent } from '../../../../field-components/metadata-values/metadata-values.component';
66
import { mockItemWithMetadataFieldAndValue } from '../item-page-field.component.spec';
77
import { ItemPageAuthorFieldComponent } from './item-page-author-field.component';
8+
import { APP_CONFIG } from '../../../../../../config/app-config.interface';
9+
import { environment } from '../../../../../../environments/environment';
810

911
let comp: ItemPageAuthorFieldComponent;
1012
let fixture: ComponentFixture<ItemPageAuthorFieldComponent>;
@@ -21,6 +23,9 @@ describe('ItemPageAuthorFieldComponent', () => {
2123
useClass: TranslateLoaderMock
2224
}
2325
})],
26+
providers: [
27+
{ provide: APP_CONFIG, useValue: environment },
28+
],
2429
declarations: [ItemPageAuthorFieldComponent, MetadataValuesComponent],
2530
schemas: [NO_ERRORS_SCHEMA]
2631
}).overrideComponent(ItemPageAuthorFieldComponent, {

src/app/item-page/simple/field-components/specific-field/date/item-page-date-field.component.spec.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import { TranslateLoaderMock } from '../../../../../shared/testing/translate-loa
55
import { MetadataValuesComponent } from '../../../../field-components/metadata-values/metadata-values.component';
66
import { mockItemWithMetadataFieldAndValue } from '../item-page-field.component.spec';
77
import { ItemPageDateFieldComponent } from './item-page-date-field.component';
8+
import { APP_CONFIG } from '../../../../../../config/app-config.interface';
9+
import { environment } from '../../../../../../environments/environment';
810

911
let comp: ItemPageDateFieldComponent;
1012
let fixture: ComponentFixture<ItemPageDateFieldComponent>;
@@ -21,6 +23,9 @@ describe('ItemPageDateFieldComponent', () => {
2123
useClass: TranslateLoaderMock
2224
}
2325
})],
26+
providers: [
27+
{ provide: APP_CONFIG, useValue: environment },
28+
],
2429
declarations: [ItemPageDateFieldComponent, MetadataValuesComponent],
2530
schemas: [NO_ERRORS_SCHEMA]
2631
}).overrideComponent(ItemPageDateFieldComponent, {

src/app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component.spec.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import { TranslateLoaderMock } from '../../../../../shared/testing/translate-loa
55
import { MetadataValuesComponent } from '../../../../field-components/metadata-values/metadata-values.component';
66
import { mockItemWithMetadataFieldAndValue } from '../item-page-field.component.spec';
77
import { GenericItemPageFieldComponent } from './generic-item-page-field.component';
8+
import { APP_CONFIG } from '../../../../../../config/app-config.interface';
9+
import { environment } from '../../../../../../environments/environment';
810

911
let comp: GenericItemPageFieldComponent;
1012
let fixture: ComponentFixture<GenericItemPageFieldComponent>;
@@ -23,6 +25,9 @@ describe('GenericItemPageFieldComponent', () => {
2325
useClass: TranslateLoaderMock
2426
}
2527
})],
28+
providers: [
29+
{ provide: APP_CONFIG, useValue: environment },
30+
],
2631
declarations: [GenericItemPageFieldComponent, MetadataValuesComponent],
2732
schemas: [NO_ERRORS_SCHEMA]
2833
}).overrideComponent(GenericItemPageFieldComponent, {

src/app/item-page/simple/field-components/specific-field/item-page-field.component.spec.ts

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,16 @@ const mockLabel = 'test label';
2323
const mockFields = [mockField];
2424

2525
describe('ItemPageFieldComponent', () => {
26-
beforeEach(waitForAsync(() => {
27-
TestBed.configureTestingModule({
26+
27+
let appConfig = Object.assign({}, environment, {
28+
markdown: {
29+
enabled: false,
30+
mathjax: false,
31+
}
32+
});
33+
34+
const buildTestEnvironment = async () => {
35+
await TestBed.configureTestingModule({
2836
imports: [
2937
TranslateModule.forRoot({
3038
loader: {
@@ -35,34 +43,33 @@ describe('ItemPageFieldComponent', () => {
3543
SharedModule,
3644
],
3745
providers: [
38-
{ provide: APP_CONFIG, useValue: Object.assign({}, environment) },
46+
{ provide: APP_CONFIG, useValue: appConfig },
3947
],
4048
declarations: [ItemPageFieldComponent, MetadataValuesComponent],
4149
schemas: [NO_ERRORS_SCHEMA]
4250
}).overrideComponent(ItemPageFieldComponent, {
4351
set: { changeDetection: ChangeDetectionStrategy.Default }
4452
}).compileComponents();
4553
markdownSpy = spyOn(MarkdownPipe.prototype, 'transform');
46-
}));
47-
48-
beforeEach(waitForAsync(() => {
4954
fixture = TestBed.createComponent(ItemPageFieldComponent);
5055
comp = fixture.componentInstance;
5156
comp.item = mockItemWithMetadataFieldAndValue(mockField, mockValue);
5257
comp.fields = mockFields;
5358
comp.label = mockLabel;
5459
fixture.detectChanges();
55-
}));
60+
};
5661

57-
it('should display display the correct metadata value', () => {
62+
it('should display display the correct metadata value', waitForAsync(async () => {
63+
await buildTestEnvironment();
5864
expect(fixture.nativeElement.innerHTML).toContain(mockValue);
59-
});
65+
}));
6066

6167
describe('when markdown is disabled in the environment config', () => {
6268

63-
beforeEach(() => {
64-
TestBed.inject(APP_CONFIG).markdown.enabled = false;
65-
});
69+
beforeEach(waitForAsync(async () => {
70+
appConfig.markdown.enabled = false;
71+
await buildTestEnvironment();
72+
}));
6673

6774
describe('and markdown is disabled in this component', () => {
6875

@@ -91,9 +98,10 @@ describe('ItemPageFieldComponent', () => {
9198

9299
describe('when markdown is enabled in the environment config', () => {
93100

94-
beforeEach(() => {
95-
TestBed.inject(APP_CONFIG).markdown.enabled = true;
96-
});
101+
beforeEach(waitForAsync(async () => {
102+
appConfig.markdown.enabled = true;
103+
await buildTestEnvironment();
104+
}));
97105

98106
describe('and markdown is disabled in this component', () => {
99107

src/app/item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.spec.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import { TranslateLoaderMock } from '../../../../../shared/testing/translate-loa
55
import { mockItemWithMetadataFieldAndValue } from '../item-page-field.component.spec';
66
import { ItemPageUriFieldComponent } from './item-page-uri-field.component';
77
import { MetadataUriValuesComponent } from '../../../../field-components/metadata-uri-values/metadata-uri-values.component';
8+
import { environment } from '../../../../../../environments/environment';
9+
import { APP_CONFIG } from '../../../../../../config/app-config.interface';
810

911
let comp: ItemPageUriFieldComponent;
1012
let fixture: ComponentFixture<ItemPageUriFieldComponent>;
@@ -22,6 +24,9 @@ describe('ItemPageUriFieldComponent', () => {
2224
useClass: TranslateLoaderMock
2325
}
2426
})],
27+
providers: [
28+
{ provide: APP_CONFIG, useValue: environment },
29+
],
2530
declarations: [ItemPageUriFieldComponent, MetadataUriValuesComponent],
2631
schemas: [NO_ERRORS_SCHEMA]
2732
}).overrideComponent(ItemPageUriFieldComponent, {

0 commit comments

Comments
 (0)