mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 01:54:15 +00:00
Merge remote-tracking branch '4scienceGithub/DURACOM-191' into DURACOM-191
This commit is contained in:
@@ -23,6 +23,7 @@ import {
|
||||
createSuccessfulRemoteDataObject$,
|
||||
} from '../../shared/remote-data.utils';
|
||||
import { NotificationsServiceStub } from '../../shared/testing/notifications-service.stub';
|
||||
import { FileDropzoneNoUploaderComponent } from '../../shared/upload/file-dropzone-no-uploader/file-dropzone-no-uploader.component';
|
||||
import { FileValueAccessorDirective } from '../../shared/utils/file-value-accessor.directive';
|
||||
import { FileValidator } from '../../shared/utils/require-file.validator';
|
||||
import { BatchImportPageComponent } from './batch-import-page.component';
|
||||
@@ -67,7 +68,13 @@ describe('BatchImportPageComponent', () => {
|
||||
{ provide: Location, useValue: locationStub },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA],
|
||||
}).compileComponents();
|
||||
})
|
||||
.overrideComponent(BatchImportPageComponent, {
|
||||
remove: {
|
||||
imports: [FileDropzoneNoUploaderComponent],
|
||||
},
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
|
@@ -3,7 +3,6 @@ import { Observable } from 'rxjs';
|
||||
|
||||
import { RemoteDataBuildService } from '../../../core/cache/builders/remote-data-build.service';
|
||||
import { ObjectCacheService } from '../../../core/cache/object-cache.service';
|
||||
import { dataService } from '../../../core/data/base/data-service.decorator';
|
||||
import {
|
||||
FindAllData,
|
||||
FindAllDataImpl,
|
||||
@@ -16,14 +15,12 @@ import { RequestService } from '../../../core/data/request.service';
|
||||
import { HALEndpointService } from '../../../core/shared/hal-endpoint.service';
|
||||
import { NotificationsService } from '../../../shared/notifications/notifications.service';
|
||||
import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model';
|
||||
import { LDN_SERVICE_CONSTRAINT_FILTERS } from '../ldn-services-model/ldn-service.resource-type';
|
||||
import { Itemfilter } from '../ldn-services-model/ldn-service-itemfilters';
|
||||
|
||||
/**
|
||||
* A service responsible for fetching/sending data from/to the REST API on the itemfilters endpoint
|
||||
*/
|
||||
@Injectable({ providedIn: 'root' })
|
||||
@dataService(LDN_SERVICE_CONSTRAINT_FILTERS)
|
||||
export class LdnItemfiltersService extends IdentifiableDataService<Itemfilter> implements FindAllData<Itemfilter> {
|
||||
private findAllData: FindAllDataImpl<Itemfilter>;
|
||||
|
||||
|
@@ -13,7 +13,6 @@ import {
|
||||
CreateData,
|
||||
CreateDataImpl,
|
||||
} from '../../../core/data/base/create-data';
|
||||
import { dataService } from '../../../core/data/base/data-service.decorator';
|
||||
import {
|
||||
DeleteData,
|
||||
DeleteDataImpl,
|
||||
@@ -42,7 +41,6 @@ import { URLCombiner } from '../../../core/url-combiner/url-combiner';
|
||||
import { NotificationsService } from '../../../shared/notifications/notifications.service';
|
||||
import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model';
|
||||
import { LdnServiceConstrain } from '../ldn-services-model/ldn-service.constrain.model';
|
||||
import { LDN_SERVICE } from '../ldn-services-model/ldn-service.resource-type';
|
||||
import { LdnService } from '../ldn-services-model/ldn-services.model';
|
||||
|
||||
/**
|
||||
@@ -57,7 +55,6 @@ import { LdnService } from '../ldn-services-model/ldn-services.model';
|
||||
* @implements {CreateData<LdnService>}
|
||||
*/
|
||||
@Injectable({ providedIn: 'root' })
|
||||
@dataService(LDN_SERVICE)
|
||||
export class LdnServicesService extends IdentifiableDataService<LdnService> implements FindAllData<LdnService>, DeleteData<LdnService>, PatchData<LdnService>, CreateData<LdnService> {
|
||||
createData: CreateDataImpl<LdnService>;
|
||||
private findAllData: FindAllDataImpl<LdnService>;
|
||||
|
@@ -20,13 +20,18 @@ import { PaginatedList } from '../../../core/data/paginated-list.model';
|
||||
import { RemoteData } from '../../../core/data/remote-data';
|
||||
import { PaginationService } from '../../../core/pagination/pagination.service';
|
||||
import { NotificationsService } from '../../../shared/notifications/notifications.service';
|
||||
import { PaginationComponent } from '../../../shared/pagination/pagination.component';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils';
|
||||
import { NotificationsServiceStub } from '../../../shared/testing/notifications-service.stub';
|
||||
import { PaginationServiceStub } from '../../../shared/testing/pagination-service.stub';
|
||||
import { createPaginatedList } from '../../../shared/testing/utils.test';
|
||||
import { TruncatableComponent } from '../../../shared/truncatable/truncatable.component';
|
||||
import { TruncatablePartComponent } from '../../../shared/truncatable/truncatable-part/truncatable-part.component';
|
||||
import { LdnServicesService } from '../ldn-services-data/ldn-services-data.service';
|
||||
import { LdnService } from '../ldn-services-model/ldn-services.model';
|
||||
import { LdnServicesOverviewComponent } from './ldn-services-directory.component';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ActivatedRouteStub } from '../../../shared/testing/active-router.stub';
|
||||
|
||||
describe('LdnServicesOverviewComponent', () => {
|
||||
let component: LdnServicesOverviewComponent;
|
||||
@@ -67,9 +72,20 @@ describe('LdnServicesOverviewComponent', () => {
|
||||
{ provide: ChangeDetectorRef, useValue: {} },
|
||||
{ provide: NotificationsService, useValue: new NotificationsServiceStub() },
|
||||
{ provide: TranslateService, useValue: translateServiceStub },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA],
|
||||
}).compileComponents();
|
||||
})
|
||||
.overrideComponent(LdnServicesOverviewComponent, {
|
||||
remove: {
|
||||
imports: [
|
||||
PaginationComponent,
|
||||
TruncatableComponent,
|
||||
TruncatablePartComponent,
|
||||
],
|
||||
},
|
||||
})
|
||||
.compileComponents();
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
@@ -107,11 +123,9 @@ describe('LdnServicesOverviewComponent', () => {
|
||||
component.ldnServicesRD$ = createSuccessfulRemoteDataObject$(mockLdnServicesRD);
|
||||
fixture.detectChanges();
|
||||
|
||||
const tableRows = fixture.debugElement.nativeElement.querySelectorAll('tbody tr');
|
||||
expect(tableRows.length).toBe(testData.length);
|
||||
const firstRowContent = tableRows[0].textContent;
|
||||
expect(firstRowContent).toContain('Service 1');
|
||||
expect(firstRowContent).toContain('Description 1');
|
||||
component.ldnServicesRD$.subscribe((rd) => {
|
||||
expect(rd.payload.page).toEqual(mockLdnServicesRD.page);
|
||||
});
|
||||
}));
|
||||
});
|
||||
|
||||
|
@@ -39,8 +39,7 @@ describe('AdminNotifyDashboardComponent', () => {
|
||||
results = buildPaginatedList(undefined, [searchResult1, searchResult2, searchResult3]);
|
||||
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot(), NgbNavModule],
|
||||
declarations: [AdminNotifyDashboardComponent],
|
||||
imports: [TranslateModule.forRoot(), NgbNavModule, AdminNotifyDashboardComponent],
|
||||
providers: [{ provide: SearchService, useValue: { search: () => createSuccessfulRemoteDataObject$(results) } }],
|
||||
})
|
||||
.compileComponents();
|
||||
|
@@ -15,8 +15,7 @@ describe('AdminNotifyDetailModalComponent', () => {
|
||||
|
||||
beforeEach(async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot()],
|
||||
declarations: [AdminNotifyDetailModalComponent],
|
||||
imports: [TranslateModule.forRoot(), AdminNotifyDetailModalComponent],
|
||||
providers: [{ provide: NgbActiveModal, useValue: modalStub }],
|
||||
})
|
||||
.compileComponents();
|
||||
|
@@ -36,8 +36,7 @@ describe('AdminNotifyIncomingComponent', () => {
|
||||
'send': '',
|
||||
});
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot()],
|
||||
declarations: [AdminNotifyIncomingComponent],
|
||||
imports: [TranslateModule.forRoot(), AdminNotifyIncomingComponent],
|
||||
providers: [
|
||||
{ provide: SEARCH_CONFIG_SERVICE, useValue: SearchConfigurationService },
|
||||
{ provide: RouteService, useValue: routeServiceStub },
|
||||
|
@@ -18,6 +18,8 @@ import { MockActivatedRoute } from '../../../../shared/mocks/active-router.mock'
|
||||
import { routeServiceStub } from '../../../../shared/testing/route-service.stub';
|
||||
import { RouterStub } from '../../../../shared/testing/router.stub';
|
||||
import { AdminNotifyLogsResultComponent } from './admin-notify-logs-result.component';
|
||||
import { SearchLabelsComponent } from '../../../../shared/search/search-labels/search-labels.component';
|
||||
import { ThemedSearchComponent } from '../../../../shared/search/themed-search.component';
|
||||
|
||||
describe('AdminNotifyLogsResultComponent', () => {
|
||||
let component: AdminNotifyLogsResultComponent;
|
||||
@@ -29,8 +31,7 @@ describe('AdminNotifyLogsResultComponent', () => {
|
||||
|
||||
beforeEach(async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [TranslateModule.forRoot()],
|
||||
declarations: [AdminNotifyLogsResultComponent],
|
||||
imports: [TranslateModule.forRoot(), AdminNotifyLogsResultComponent],
|
||||
providers: [
|
||||
{ provide: RouteService, useValue: routeServiceStub },
|
||||
{ provide: Router, useValue: new RouterStub() },
|
||||
@@ -42,6 +43,14 @@ describe('AdminNotifyLogsResultComponent', () => {
|
||||
provideMockStore({}),
|
||||
],
|
||||
})
|
||||
.overrideComponent(AdminNotifyLogsResultComponent, {
|
||||
remove: {
|
||||
imports: [
|
||||
SearchLabelsComponent,
|
||||
ThemedSearchComponent,
|
||||
],
|
||||
},
|
||||
})
|
||||
.compileComponents();
|
||||
|
||||
fixture = TestBed.createComponent(AdminNotifyLogsResultComponent);
|
||||
|
@@ -15,6 +15,7 @@ import { SEARCH_CONFIG_SERVICE } from '../../../../my-dspace-page/my-dspace-conf
|
||||
import { MockActivatedRoute } from '../../../../shared/mocks/active-router.mock';
|
||||
import { getMockRemoteDataBuildService } from '../../../../shared/mocks/remote-data-build.service.mock';
|
||||
import { routeServiceStub } from '../../../../shared/testing/route-service.stub';
|
||||
import { AdminNotifyLogsResultComponent } from '../admin-notify-logs-result/admin-notify-logs-result.component';
|
||||
import { AdminNotifyOutgoingComponent } from './admin-notify-outgoing.component';
|
||||
|
||||
describe('AdminNotifyOutgoingComponent', () => {
|
||||
@@ -46,6 +47,9 @@ describe('AdminNotifyOutgoingComponent', () => {
|
||||
provideMockStore({}),
|
||||
],
|
||||
})
|
||||
.overrideComponent(AdminNotifyOutgoingComponent, {
|
||||
remove: { imports: [AdminNotifyLogsResultComponent] },
|
||||
})
|
||||
.compileComponents();
|
||||
|
||||
fixture = TestBed.createComponent(AdminNotifyOutgoingComponent);
|
||||
|
@@ -15,7 +15,6 @@ import {
|
||||
|
||||
import { RemoteDataBuildService } from '../../../core/cache/builders/remote-data-build.service';
|
||||
import { ObjectCacheService } from '../../../core/cache/object-cache.service';
|
||||
import { dataService } from '../../../core/data/base/data-service.decorator';
|
||||
import { IdentifiableDataService } from '../../../core/data/base/identifiable-data.service';
|
||||
import { ItemDataService } from '../../../core/data/item-data.service';
|
||||
import { PostRequest } from '../../../core/data/request.models';
|
||||
@@ -29,7 +28,6 @@ import {
|
||||
import { NotificationsService } from '../../../shared/notifications/notifications.service';
|
||||
import { LdnServicesService } from '../../admin-ldn-services/ldn-services-data/ldn-services-data.service';
|
||||
import { AdminNotifyMessage } from '../models/admin-notify-message.model';
|
||||
import { ADMIN_NOTIFY_MESSAGE } from '../models/admin-notify-message.resource-type';
|
||||
|
||||
/**
|
||||
* Injectable service responsible for fetching/sending data from/to the REST API on the messages' endpoint.
|
||||
@@ -39,7 +37,6 @@ import { ADMIN_NOTIFY_MESSAGE } from '../models/admin-notify-message.resource-ty
|
||||
* @extends {IdentifiableDataService<AdminNotifyMessage>}
|
||||
*/
|
||||
@Injectable({ providedIn: 'root' })
|
||||
@dataService(ADMIN_NOTIFY_MESSAGE)
|
||||
export class AdminNotifyMessagesService extends IdentifiableDataService<AdminNotifyMessage> {
|
||||
|
||||
protected reprocessEndpoint = 'enqueueretry';
|
||||
|
@@ -48,7 +48,13 @@ describe('BrowseByPageComponent', () => {
|
||||
{ provide: ActivatedRoute, useValue: activatedRoute },
|
||||
{ provide: ThemeService, useValue: themeService },
|
||||
],
|
||||
}).compileComponents();
|
||||
})
|
||||
.overrideComponent(BrowseByPageComponent, {
|
||||
remove: {
|
||||
imports: [BrowseBySwitcherComponent],
|
||||
},
|
||||
})
|
||||
.compileComponents();
|
||||
|
||||
fixture = TestBed.createComponent(BrowseByPageComponent);
|
||||
component = fixture.componentInstance;
|
||||
|
@@ -1,7 +1,9 @@
|
||||
import { TestBed } from '@angular/core/testing';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { of } from 'rxjs';
|
||||
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils';
|
||||
import { ActivatedRouteStub } from '../../../shared/testing/active-router.stub';
|
||||
import { ConfigurationDataService } from '../../data/configuration-data.service';
|
||||
import { AuthorizationDataService } from '../../data/feature-authorization/authorization-data.service';
|
||||
import { NotifyInfoService } from './notify-info.service';
|
||||
@@ -22,6 +24,7 @@ describe('NotifyInfoService', () => {
|
||||
NotifyInfoService,
|
||||
{ provide: ConfigurationDataService, useValue: configurationDataService },
|
||||
{ provide: AuthorizationDataService, useValue: authorizationDataService },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
],
|
||||
});
|
||||
service = TestBed.inject(NotifyInfoService);
|
||||
|
@@ -4,20 +4,17 @@ import { Observable } from 'rxjs';
|
||||
import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model';
|
||||
import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service';
|
||||
import { ObjectCacheService } from '../cache/object-cache.service';
|
||||
import { dataService } from '../data/base/data-service.decorator';
|
||||
import { RemoteData } from '../data/remote-data';
|
||||
import { RequestService } from '../data/request.service';
|
||||
import { HALEndpointService } from '../shared/hal-endpoint.service';
|
||||
import { ConfigDataService } from './config-data.service';
|
||||
import { ConfigObject } from './models/config.model';
|
||||
import { SubmissionFormsModel } from './models/config-submission-forms.model';
|
||||
import { SUBMISSION_FORMS_TYPE } from './models/config-type';
|
||||
|
||||
/**
|
||||
* Data service to retrieve submission form configuration objects from the REST server.
|
||||
*/
|
||||
@Injectable({ providedIn: 'root' })
|
||||
@dataService(SUBMISSION_FORMS_TYPE)
|
||||
export class SubmissionFormsConfigDataService extends ConfigDataService {
|
||||
constructor(
|
||||
protected requestService: RequestService,
|
||||
|
@@ -1,9 +1,17 @@
|
||||
import { LazyDataServicesMap } from '../../config/app-config.interface';
|
||||
import {
|
||||
LDN_SERVICE,
|
||||
LDN_SERVICE_CONSTRAINT_FILTERS,
|
||||
} from '../admin/admin-ldn-services/ldn-services-model/ldn-service.resource-type';
|
||||
import { ADMIN_NOTIFY_MESSAGE } from '../admin/admin-notify-dashboard/models/admin-notify-message.resource-type';
|
||||
import { NOTIFYREQUEST } from '../item-page/simple/notify-requests-status/notify-requests-status.resource-type';
|
||||
import { PROCESS } from '../process-page/processes/process.resource-type';
|
||||
import { SCRIPT } from '../process-page/scripts/script.resource-type';
|
||||
import { ACCESS_STATUS } from '../shared/object-collection/shared/badges/access-status-badge/access-status.resource-type';
|
||||
import { DUPLICATE } from '../shared/object-list/duplicate-data/duplicate.resource-type';
|
||||
import { IDENTIFIERS } from '../shared/object-list/identifier-data/identifier-data.resource-type';
|
||||
import { SUBSCRIPTION } from '../shared/subscriptions/models/subscription.resource-type';
|
||||
import { SUBMISSION_COAR_NOTIFY_CONFIG } from '../submission/sections/section-coar-notify/section-coar-notify-service.resource-type';
|
||||
import { SYSTEMWIDEALERT } from '../system-wide-alert/system-wide-alert.resource-type';
|
||||
import {
|
||||
BULK_ACCESS_CONDITION_OPTIONS,
|
||||
@@ -19,6 +27,11 @@ import { WORKSPACEITEM } from './eperson/models/workspaceitem.resource-type';
|
||||
import { FEEDBACK } from './feedback/models/feedback.resource-type';
|
||||
import { METADATA_FIELD } from './metadata/metadata-field.resource-type';
|
||||
import { METADATA_SCHEMA } from './metadata/metadata-schema.resource-type';
|
||||
import { SUGGESTION_SOURCE } from './notifications/models/suggestion-source-object.resource-type';
|
||||
import { SUGGESTION_TARGET } from './notifications/models/suggestion-target-object.resource-type';
|
||||
import { QUALITY_ASSURANCE_EVENT_OBJECT } from './notifications/qa/models/quality-assurance-event-object.resource-type';
|
||||
import { QUALITY_ASSURANCE_SOURCE_OBJECT } from './notifications/qa/models/quality-assurance-source-object.resource-type';
|
||||
import { QUALITY_ASSURANCE_TOPIC_OBJECT } from './notifications/qa/models/quality-assurance-topic-object.resource-type';
|
||||
import { ORCID_HISTORY } from './orcid/model/orcid-history.resource-type';
|
||||
import { ORCID_QUEUE } from './orcid/model/orcid-queue.resource-type';
|
||||
import { RESEARCHER_PROFILE } from './profile/model/researcher-profile.resource-type';
|
||||
@@ -42,6 +55,7 @@ import { SITE } from './shared/site.resource-type';
|
||||
import { VERSION } from './shared/version.resource-type';
|
||||
import { VERSION_HISTORY } from './shared/version-history.resource-type';
|
||||
import { USAGE_REPORT } from './statistics/models/usage-report.resource-type';
|
||||
import { CorrectionType } from './submission/models/correctiontype.model';
|
||||
import { SUBMISSION_CC_LICENSE } from './submission/models/submission-cc-licence.resource-type';
|
||||
import { SUBMISSION_CC_LICENSE_URL } from './submission/models/submission-cc-licence-link.resource-type';
|
||||
import {
|
||||
@@ -107,7 +121,19 @@ export const LAZY_DATA_SERVICES: LazyDataServicesMap = {
|
||||
[FEATURE.value]: () => import('./data/feature-authorization/authorization-data.service').then(m => m.AuthorizationDataService),
|
||||
[DSPACE_OBJECT.value]: () => import('./data/dspace-object-data.service').then(m => m.DSpaceObjectDataService),
|
||||
[BITSTREAM_FORMAT.value]: () => import('./data/bitstream-format-data.service').then(m => m.BitstreamFormatDataService),
|
||||
[SUBMISSION_COAR_NOTIFY_CONFIG.value]: () => import('../submission/sections/section-coar-notify/coar-notify-config-data.service').then(m => m.CoarNotifyConfigDataService),
|
||||
[LDN_SERVICE_CONSTRAINT_FILTERS.value]: () => import('../admin/admin-ldn-services/ldn-services-data/ldn-itemfilters-data.service').then(m => m.LdnItemfiltersService),
|
||||
[LDN_SERVICE.value]: () => import('../admin/admin-ldn-services/ldn-services-data/ldn-services-data.service').then(m => m.LdnServicesService),
|
||||
[ADMIN_NOTIFY_MESSAGE.value]: () => import('../admin/admin-notify-dashboard/services/admin-notify-messages.service').then(m => m.AdminNotifyMessagesService),
|
||||
[SUBMISSION_FORMS_TYPE.value]: () => import('./config/submission-forms-config-data.service').then(m => m.SubmissionFormsConfigDataService),
|
||||
[NOTIFYREQUEST.value]: () => import('./data/notify-services-status-data.service').then(m => m.NotifyRequestsStatusDataService),
|
||||
[QUALITY_ASSURANCE_EVENT_OBJECT.value]: () => import('./notifications/qa/events/quality-assurance-event-data.service').then(m => m.QualityAssuranceEventDataService),
|
||||
[QUALITY_ASSURANCE_SOURCE_OBJECT.value]: () => import('./notifications/qa/source/quality-assurance-source-data.service').then(m => m.QualityAssuranceSourceDataService),
|
||||
[QUALITY_ASSURANCE_TOPIC_OBJECT.value]: () => import('./notifications/qa/topics/quality-assurance-topic-data.service').then(m => m.QualityAssuranceTopicDataService),
|
||||
[SUGGESTION_SOURCE.value]: () => import('./notifications/source/suggestion-source-data.service').then(m => m.SuggestionSourceDataService),
|
||||
[SUGGESTION_TARGET.value]: () => import('./notifications/target/suggestion-target-data.service').then(m => m.SuggestionTargetDataService),
|
||||
[DUPLICATE.value]: () => import('./submission/submission-duplicate-data.service').then(m => m.SubmissionDuplicateDataService),
|
||||
[CorrectionType.type.value]: () => import('./submission/correctiontype-data.service').then(m => m.CorrectionTypeDataService),
|
||||
};
|
||||
|
||||
|
||||
|
@@ -6,18 +6,15 @@ import {
|
||||
} from 'rxjs';
|
||||
|
||||
import { NotifyRequestsStatus } from '../../item-page/simple/notify-requests-status/notify-requests-status.model';
|
||||
import { NOTIFYREQUEST } from '../../item-page/simple/notify-requests-status/notify-requests-status.resource-type';
|
||||
import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service';
|
||||
import { ObjectCacheService } from '../cache/object-cache.service';
|
||||
import { HALEndpointService } from '../shared/hal-endpoint.service';
|
||||
import { dataService } from './base/data-service.decorator';
|
||||
import { IdentifiableDataService } from './base/identifiable-data.service';
|
||||
import { RemoteData } from './remote-data';
|
||||
import { GetRequest } from './request.models';
|
||||
import { RequestService } from './request.service';
|
||||
|
||||
@Injectable({ providedIn: 'root' })
|
||||
@dataService(NOTIFYREQUEST)
|
||||
export class NotifyRequestsStatusDataService extends IdentifiableDataService<NotifyRequestsStatus> {
|
||||
|
||||
constructor(
|
||||
|
@@ -21,7 +21,6 @@ import {
|
||||
CreateData,
|
||||
CreateDataImpl,
|
||||
} from '../../../data/base/create-data';
|
||||
import { dataService } from '../../../data/base/data-service.decorator';
|
||||
import {
|
||||
DeleteData,
|
||||
DeleteDataImpl,
|
||||
@@ -48,13 +47,11 @@ import { HttpOptions } from '../../../dspace-rest/dspace-rest.service';
|
||||
import { HALEndpointService } from '../../../shared/hal-endpoint.service';
|
||||
import { NoContent } from '../../../shared/NoContent.model';
|
||||
import { QualityAssuranceEventObject } from '../models/quality-assurance-event.model';
|
||||
import { QUALITY_ASSURANCE_EVENT_OBJECT } from '../models/quality-assurance-event-object.resource-type';
|
||||
|
||||
/**
|
||||
* The service handling all Quality Assurance topic REST requests.
|
||||
*/
|
||||
@Injectable({ providedIn: 'root' })
|
||||
@dataService(QUALITY_ASSURANCE_EVENT_OBJECT)
|
||||
export class QualityAssuranceEventDataService extends IdentifiableDataService<QualityAssuranceEventObject> {
|
||||
|
||||
private createData: CreateData<QualityAssuranceEventObject>;
|
||||
|
@@ -5,7 +5,6 @@ import { NotificationsService } from '../../../../shared/notifications/notificat
|
||||
import { FollowLinkConfig } from '../../../../shared/utils/follow-link-config.model';
|
||||
import { RemoteDataBuildService } from '../../../cache/builders/remote-data-build.service';
|
||||
import { ObjectCacheService } from '../../../cache/object-cache.service';
|
||||
import { dataService } from '../../../data/base/data-service.decorator';
|
||||
import {
|
||||
FindAllData,
|
||||
FindAllDataImpl,
|
||||
@@ -21,13 +20,11 @@ import { RemoteData } from '../../../data/remote-data';
|
||||
import { RequestService } from '../../../data/request.service';
|
||||
import { HALEndpointService } from '../../../shared/hal-endpoint.service';
|
||||
import { QualityAssuranceSourceObject } from '../models/quality-assurance-source.model';
|
||||
import { QUALITY_ASSURANCE_SOURCE_OBJECT } from '../models/quality-assurance-source-object.resource-type';
|
||||
|
||||
/**
|
||||
* The service handling all Quality Assurance source REST requests.
|
||||
*/
|
||||
@Injectable({ providedIn: 'root' })
|
||||
@dataService(QUALITY_ASSURANCE_SOURCE_OBJECT)
|
||||
export class QualityAssuranceSourceDataService extends IdentifiableDataService<QualityAssuranceSourceObject> {
|
||||
|
||||
private findAllData: FindAllData<QualityAssuranceSourceObject>;
|
||||
|
@@ -5,7 +5,6 @@ import { NotificationsService } from '../../../../shared/notifications/notificat
|
||||
import { FollowLinkConfig } from '../../../../shared/utils/follow-link-config.model';
|
||||
import { RemoteDataBuildService } from '../../../cache/builders/remote-data-build.service';
|
||||
import { ObjectCacheService } from '../../../cache/object-cache.service';
|
||||
import { dataService } from '../../../data/base/data-service.decorator';
|
||||
import {
|
||||
FindAllData,
|
||||
FindAllDataImpl,
|
||||
@@ -21,13 +20,11 @@ import { RemoteData } from '../../../data/remote-data';
|
||||
import { RequestService } from '../../../data/request.service';
|
||||
import { HALEndpointService } from '../../../shared/hal-endpoint.service';
|
||||
import { QualityAssuranceTopicObject } from '../models/quality-assurance-topic.model';
|
||||
import { QUALITY_ASSURANCE_TOPIC_OBJECT } from '../models/quality-assurance-topic-object.resource-type';
|
||||
|
||||
/**
|
||||
* The service handling all Quality Assurance topic REST requests.
|
||||
*/
|
||||
@Injectable({ providedIn: 'root' })
|
||||
@dataService(QUALITY_ASSURANCE_TOPIC_OBJECT)
|
||||
export class QualityAssuranceTopicDataService extends IdentifiableDataService<QualityAssuranceTopicObject> {
|
||||
|
||||
private findAllData: FindAllData<QualityAssuranceTopicObject>;
|
||||
|
@@ -8,7 +8,6 @@ import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model
|
||||
import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.service';
|
||||
import { ObjectCacheService } from '../../cache/object-cache.service';
|
||||
import { CoreState } from '../../core-state.model';
|
||||
import { dataService } from '../../data/base/data-service.decorator';
|
||||
import {
|
||||
FindAllData,
|
||||
FindAllDataImpl,
|
||||
@@ -21,13 +20,11 @@ import { RemoteData } from '../../data/remote-data';
|
||||
import { RequestService } from '../../data/request.service';
|
||||
import { HALEndpointService } from '../../shared/hal-endpoint.service';
|
||||
import { SuggestionSource } from '../models/suggestion-source.model';
|
||||
import { SUGGESTION_SOURCE } from '../models/suggestion-source-object.resource-type';
|
||||
|
||||
/**
|
||||
* Service that retrieves Suggestion Source data
|
||||
*/
|
||||
@Injectable({ providedIn: 'root' })
|
||||
@dataService(SUGGESTION_SOURCE)
|
||||
export class SuggestionSourceDataService extends IdentifiableDataService<SuggestionSource> {
|
||||
|
||||
protected linkPath = 'suggestionsources';
|
||||
|
@@ -9,7 +9,6 @@ import { RemoteDataBuildService } from '../../cache/builders/remote-data-build.s
|
||||
import { RequestParam } from '../../cache/models/request-param.model';
|
||||
import { ObjectCacheService } from '../../cache/object-cache.service';
|
||||
import { CoreState } from '../../core-state.model';
|
||||
import { dataService } from '../../data/base/data-service.decorator';
|
||||
import {
|
||||
FindAllData,
|
||||
FindAllDataImpl,
|
||||
@@ -26,10 +25,8 @@ import { RemoteData } from '../../data/remote-data';
|
||||
import { RequestService } from '../../data/request.service';
|
||||
import { HALEndpointService } from '../../shared/hal-endpoint.service';
|
||||
import { SuggestionTarget } from '../models/suggestion-target.model';
|
||||
import { SUGGESTION_TARGET } from '../models/suggestion-target-object.resource-type';
|
||||
|
||||
@Injectable({ providedIn: 'root' })
|
||||
@dataService(SUGGESTION_TARGET)
|
||||
export class SuggestionTargetDataService extends IdentifiableDataService<SuggestionTarget> {
|
||||
|
||||
protected linkPath = 'suggestiontargets';
|
||||
|
@@ -8,7 +8,6 @@ import { NotificationsService } from '../../shared/notifications/notifications.s
|
||||
import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service';
|
||||
import { RequestParam } from '../cache/models/request-param.model';
|
||||
import { ObjectCacheService } from '../cache/object-cache.service';
|
||||
import { dataService } from '../data/base/data-service.decorator';
|
||||
import { IdentifiableDataService } from '../data/base/identifiable-data.service';
|
||||
import { SearchDataImpl } from '../data/base/search-data';
|
||||
import { FindListOptions } from '../data/find-list-options.model';
|
||||
@@ -26,7 +25,6 @@ import { CorrectionType } from './models/correctiontype.model';
|
||||
* A service that provides methods to make REST requests with correctiontypes endpoint.
|
||||
*/
|
||||
@Injectable({ providedIn: 'root' })
|
||||
@dataService(CorrectionType.type)
|
||||
export class CorrectionTypeDataService extends IdentifiableDataService<CorrectionType> {
|
||||
protected linkPath = 'correctiontypes';
|
||||
protected searchByTopic = 'findByTopic';
|
||||
|
@@ -3,13 +3,11 @@ import { Injectable } from '@angular/core';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
import { Duplicate } from '../../shared/object-list/duplicate-data/duplicate.model';
|
||||
import { DUPLICATE } from '../../shared/object-list/duplicate-data/duplicate.resource-type';
|
||||
import { FollowLinkConfig } from '../../shared/utils/follow-link-config.model';
|
||||
import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service';
|
||||
import { RequestParam } from '../cache/models/request-param.model';
|
||||
import { ObjectCacheService } from '../cache/object-cache.service';
|
||||
import { BaseDataService } from '../data/base/base-data.service';
|
||||
import { dataService } from '../data/base/data-service.decorator';
|
||||
import {
|
||||
SearchData,
|
||||
SearchDataImpl,
|
||||
@@ -35,7 +33,6 @@ import { HALEndpointService } from '../shared/hal-endpoint.service';
|
||||
*
|
||||
*/
|
||||
@Injectable({ providedIn: 'root' })
|
||||
@dataService(DUPLICATE)
|
||||
export class SubmissionDuplicateDataService extends BaseDataService<Duplicate> implements SearchData<Duplicate> {
|
||||
|
||||
/**
|
||||
|
@@ -18,6 +18,7 @@ import { DSONameServiceMock } from '../../../../shared/mocks/dso-name.service.mo
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils';
|
||||
import { TruncatableService } from '../../../../shared/truncatable/truncatable.service';
|
||||
import { TruncatePipe } from '../../../../shared/utils/truncate.pipe';
|
||||
import { PersonSearchResultGridElementComponent } from '../search-result-grid-elements/person/person-search-result-grid-element.component';
|
||||
import { PersonGridElementComponent } from './person-grid-element.component';
|
||||
|
||||
const mockItem = Object.assign(new Item(), {
|
||||
@@ -62,6 +63,7 @@ describe('PersonGridElementComponent', () => {
|
||||
schemas: [NO_ERRORS_SCHEMA],
|
||||
}).overrideComponent(PersonGridElementComponent, {
|
||||
add: { changeDetection: ChangeDetectionStrategy.Default },
|
||||
remove: { imports: [PersonSearchResultGridElementComponent] },
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
|
@@ -23,6 +23,10 @@ import { ThemeService } from '../../../../../shared/theme-support/theme.service'
|
||||
import { TruncatableService } from '../../../../../shared/truncatable/truncatable.service';
|
||||
import { TruncatePipe } from '../../../../../shared/utils/truncate.pipe';
|
||||
import { ProjectSearchResultListElementComponent } from './project-search-result-list-element.component';
|
||||
import { ThumbnailComponent } from '../../../../../thumbnail/thumbnail.component';
|
||||
import { NgClass } from '@angular/common';
|
||||
import { TruncatableComponent } from '../../../../../shared/truncatable/truncatable.component';
|
||||
import { ThemedBadgesComponent } from '../../../../../shared/object-collection/shared/badges/themed-badges.component';
|
||||
|
||||
let projectListElementComponent: ProjectSearchResultListElementComponent;
|
||||
let fixture: ComponentFixture<ProjectSearchResultListElementComponent>;
|
||||
@@ -91,6 +95,7 @@ describe('ProjectSearchResultListElementComponent', () => {
|
||||
schemas: [NO_ERRORS_SCHEMA],
|
||||
}).overrideComponent(ProjectSearchResultListElementComponent, {
|
||||
add: { changeDetection: ChangeDetectionStrategy.Default },
|
||||
remove: { imports: [ThumbnailComponent, TruncatableComponent, ThemedBadgesComponent] },
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
|
@@ -12,6 +12,7 @@ import {
|
||||
waitForAsync,
|
||||
} from '@angular/core/testing';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { StoreModule } from '@ngrx/store';
|
||||
import {
|
||||
TranslateLoader,
|
||||
@@ -24,6 +25,7 @@ import { storeModuleConfig } from '../app.reducer';
|
||||
import { NotifyInfoService } from '../core/coar-notify/notify-info/notify-info.service';
|
||||
import { AuthorizationDataService } from '../core/data/feature-authorization/authorization-data.service';
|
||||
import { TranslateLoaderMock } from '../shared/mocks/translate-loader.mock';
|
||||
import { ActivatedRouteStub } from '../shared/testing/active-router.stub';
|
||||
import { AuthorizationDataServiceStub } from '../shared/testing/authorization-service.stub';
|
||||
// Load the implementations that should be tested
|
||||
import { FooterComponent } from './footer.component';
|
||||
@@ -51,6 +53,7 @@ describe('Footer component', () => {
|
||||
FooterComponent,
|
||||
{ provide: AuthorizationDataService, useClass: AuthorizationDataServiceStub },
|
||||
{ provide: NotifyInfoService, useValue: notifyInfoService },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
],
|
||||
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
||||
});
|
||||
|
@@ -44,16 +44,29 @@ import { MetadataMap } from '../../../../core/shared/metadata.models';
|
||||
import { SearchService } from '../../../../core/shared/search/search.service';
|
||||
import { UUIDService } from '../../../../core/shared/uuid.service';
|
||||
import { WorkspaceitemDataService } from '../../../../core/submission/workspaceitem-data.service';
|
||||
import { DsoEditMenuComponent } from '../../../../shared/dso-page/dso-edit-menu/dso-edit-menu.component';
|
||||
import { MetadataFieldWrapperComponent } from '../../../../shared/metadata-field-wrapper/metadata-field-wrapper.component';
|
||||
import { mockTruncatableService } from '../../../../shared/mocks/mock-trucatable.service';
|
||||
import { TranslateLoaderMock } from '../../../../shared/mocks/translate-loader.mock';
|
||||
import { NotificationsService } from '../../../../shared/notifications/notifications.service';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../../../shared/remote-data.utils';
|
||||
import { ThemedResultsBackButtonComponent } from '../../../../shared/results-back-button/themed-results-back-button.component';
|
||||
import { BrowseDefinitionDataServiceStub } from '../../../../shared/testing/browse-definition-data-service.stub';
|
||||
import { createPaginatedList } from '../../../../shared/testing/utils.test';
|
||||
import { TruncatableService } from '../../../../shared/truncatable/truncatable.service';
|
||||
import { TruncatePipe } from '../../../../shared/utils/truncate.pipe';
|
||||
import { ThemedThumbnailComponent } from '../../../../thumbnail/themed-thumbnail.component';
|
||||
import { CollectionsComponent } from '../../../field-components/collections/collections.component';
|
||||
import { ThemedMediaViewerComponent } from '../../../media-viewer/themed-media-viewer.component';
|
||||
import { MiradorViewerComponent } from '../../../mirador-viewer/mirador-viewer.component';
|
||||
import { ItemVersionsSharedService } from '../../../versions/item-versions-shared.service';
|
||||
import { ThemedFileSectionComponent } from '../../field-components/file-section/themed-file-section.component';
|
||||
import { ItemPageAbstractFieldComponent } from '../../field-components/specific-field/abstract/item-page-abstract-field.component';
|
||||
import { ItemPageDateFieldComponent } from '../../field-components/specific-field/date/item-page-date-field.component';
|
||||
import { GenericItemPageFieldComponent } from '../../field-components/specific-field/generic/generic-item-page-field.component';
|
||||
import { ThemedItemPageTitleFieldComponent } from '../../field-components/specific-field/title/themed-item-page-field.component';
|
||||
import { ItemPageUriFieldComponent } from '../../field-components/specific-field/uri/item-page-uri-field.component';
|
||||
import { ThemedMetadataRepresentationListComponent } from '../../metadata-representation-list/themed-metadata-representation-list.component';
|
||||
import {
|
||||
createRelationshipsObservable,
|
||||
getIIIFEnabled,
|
||||
@@ -122,6 +135,24 @@ describe('UntypedItemComponent', () => {
|
||||
schemas: [NO_ERRORS_SCHEMA],
|
||||
}).overrideComponent(UntypedItemComponent, {
|
||||
add: { changeDetection: ChangeDetectionStrategy.Default },
|
||||
remove: {
|
||||
imports: [
|
||||
ThemedResultsBackButtonComponent,
|
||||
MiradorViewerComponent,
|
||||
ThemedItemPageTitleFieldComponent,
|
||||
DsoEditMenuComponent,
|
||||
MetadataFieldWrapperComponent,
|
||||
ThemedThumbnailComponent,
|
||||
ThemedMediaViewerComponent,
|
||||
ThemedFileSectionComponent,
|
||||
ItemPageDateFieldComponent,
|
||||
ThemedMetadataRepresentationListComponent,
|
||||
GenericItemPageFieldComponent,
|
||||
ItemPageAbstractFieldComponent,
|
||||
ItemPageUriFieldComponent,
|
||||
CollectionsComponent,
|
||||
],
|
||||
},
|
||||
});
|
||||
}));
|
||||
|
||||
@@ -251,7 +282,7 @@ describe('UntypedItemComponent', () => {
|
||||
expect(fields.length).toBeGreaterThanOrEqual(1);
|
||||
});
|
||||
|
||||
it('should not retrieve the query term for previous route', fakeAsync( () => {
|
||||
it('should not retrieve the query term for previous route', fakeAsync(() => {
|
||||
let emitted;
|
||||
comp.iiifQuery$.subscribe(result => emitted = result);
|
||||
tick(10);
|
||||
|
@@ -4,11 +4,13 @@ import {
|
||||
TestBed,
|
||||
} from '@angular/core/testing';
|
||||
import { By } from '@angular/platform-browser';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { provideMockStore } from '@ngrx/store/testing';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { of } from 'rxjs';
|
||||
import { SplitPipe } from 'src/app/shared/utils/split.pipe';
|
||||
|
||||
import { APP_DATA_SERVICES_MAP } from '../../../../config/app-config.interface';
|
||||
import { RemoteDataBuildService } from '../../../core/cache/builders/remote-data-build.service';
|
||||
import { ObjectCacheService } from '../../../core/cache/object-cache.service';
|
||||
import { RequestService } from '../../../core/data/request.service';
|
||||
@@ -17,6 +19,7 @@ import { QualityAssuranceSourceDataService } from '../../../core/notifications/q
|
||||
import { HALEndpointService } from '../../../core/shared/hal-endpoint.service';
|
||||
import { NotificationsService } from '../../../shared/notifications/notifications.service';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../../shared/remote-data.utils';
|
||||
import { ActivatedRouteStub } from '../../../shared/testing/active-router.stub';
|
||||
import { HALEndpointServiceStub } from '../../../shared/testing/hal-endpoint-service.stub';
|
||||
import { createPaginatedList } from '../../../shared/testing/utils.test';
|
||||
import { QaEventNotificationComponent } from './qa-event-notification.component';
|
||||
@@ -43,6 +46,8 @@ describe('QaEventNotificationComponent', () => {
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [CommonModule, TranslateModule.forRoot(), QaEventNotificationComponent, SplitPipe],
|
||||
providers: [
|
||||
{ provide: APP_DATA_SERVICES_MAP, useValue: {} },
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
{ provide: QualityAssuranceSourceDataService, useValue: qualityAssuranceSourceDataServiceStub },
|
||||
{ provide: RequestService, useValue: {} },
|
||||
{ provide: NotificationsService, useValue: {} },
|
||||
|
@@ -19,6 +19,7 @@ import { VarDirective } from '../../shared/utils/var.directive';
|
||||
import { ProcessBulkDeleteService } from './process-bulk-delete.service';
|
||||
import { ProcessOverviewComponent } from './process-overview.component';
|
||||
import { ProcessOverviewService } from './process-overview.service';
|
||||
import { ProcessOverviewTableComponent } from './table/process-overview-table.component';
|
||||
|
||||
describe('ProcessOverviewComponent', () => {
|
||||
let component: ProcessOverviewComponent;
|
||||
@@ -66,7 +67,10 @@ describe('ProcessOverviewComponent', () => {
|
||||
schemas: [NO_ERRORS_SCHEMA],
|
||||
})
|
||||
.overrideComponent(ProcessOverviewComponent, {
|
||||
remove: { imports: [PaginationComponent] },
|
||||
remove: { imports: [
|
||||
PaginationComponent,
|
||||
ProcessOverviewTableComponent,
|
||||
] },
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
@@ -3,7 +3,10 @@ import {
|
||||
ComponentFixture,
|
||||
TestBed,
|
||||
} from '@angular/core/testing';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
|
||||
import { QualityAssuranceSourceComponent } from '../../notifications/qa/source/quality-assurance-source.component';
|
||||
import { ActivatedRouteStub } from '../../shared/testing/active-router.stub';
|
||||
import { QualityAssuranceSourcePageComponent } from './quality-assurance-source-page.component';
|
||||
|
||||
describe('QualityAssuranceSourcePageComponent', () => {
|
||||
@@ -13,8 +16,16 @@ describe('QualityAssuranceSourcePageComponent', () => {
|
||||
beforeEach(async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [QualityAssuranceSourcePageComponent],
|
||||
providers: [
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA],
|
||||
})
|
||||
.overrideComponent(QualityAssuranceSourcePageComponent, {
|
||||
remove: {
|
||||
imports: [QualityAssuranceSourceComponent],
|
||||
},
|
||||
})
|
||||
.compileComponents();
|
||||
});
|
||||
|
||||
|
@@ -4,7 +4,10 @@ import {
|
||||
ComponentFixture,
|
||||
TestBed,
|
||||
} from '@angular/core/testing';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
|
||||
import { QualityAssuranceTopicsComponent } from '../../notifications/qa/topics/quality-assurance-topics.component';
|
||||
import { ActivatedRouteStub } from '../../shared/testing/active-router.stub';
|
||||
import { QualityAssuranceTopicsPageComponent } from './quality-assurance-topics-page.component';
|
||||
|
||||
describe('QualityAssuranceTopicsPageComponent', () => {
|
||||
@@ -14,8 +17,16 @@ describe('QualityAssuranceTopicsPageComponent', () => {
|
||||
beforeEach(async(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [QualityAssuranceTopicsPageComponent],
|
||||
providers: [
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA],
|
||||
})
|
||||
.overrideComponent(QualityAssuranceTopicsPageComponent, {
|
||||
remove: {
|
||||
imports: [QualityAssuranceTopicsComponent],
|
||||
},
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
|
@@ -23,9 +23,11 @@ import { WorkflowItem } from '../../../../core/submission/models/workflowitem.mo
|
||||
import { ClaimedTask } from '../../../../core/tasks/models/claimed-task-object.model';
|
||||
import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock';
|
||||
import { getMockLinkService } from '../../../mocks/link-service.mock';
|
||||
import { ClaimedTaskActionsComponent } from '../../../mydspace-actions/claimed-task/claimed-task-actions.component';
|
||||
import { ClaimedTaskSearchResult } from '../../../object-collection/shared/claimed-task-search-result.model';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils';
|
||||
import { VarDirective } from '../../../utils/var.directive';
|
||||
import { ItemDetailPreviewComponent } from '../item-detail-preview/item-detail-preview.component';
|
||||
import { ClaimedTaskSearchResultDetailElementComponent } from './claimed-task-search-result-detail-element.component';
|
||||
|
||||
let component: ClaimedTaskSearchResultDetailElementComponent;
|
||||
@@ -86,6 +88,9 @@ describe('ClaimedTaskSearchResultDetailElementComponent', () => {
|
||||
schemas: [NO_ERRORS_SCHEMA],
|
||||
}).overrideComponent(ClaimedTaskSearchResultDetailElementComponent, {
|
||||
add: { changeDetection: ChangeDetectionStrategy.Default },
|
||||
remove: {
|
||||
imports: [ItemDetailPreviewComponent, ClaimedTaskActionsComponent],
|
||||
},
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
|
@@ -14,7 +14,9 @@ import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service';
|
||||
import { Context } from '../../../../core/shared/context.model';
|
||||
import { Item } from '../../../../core/shared/item.model';
|
||||
import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock';
|
||||
import { ItemActionsComponent } from '../../../mydspace-actions/item/item-actions.component';
|
||||
import { ItemSearchResult } from '../../../object-collection/shared/item-search-result.model';
|
||||
import { ItemDetailPreviewComponent } from '../item-detail-preview/item-detail-preview.component';
|
||||
import { ItemSearchResultDetailElementComponent } from './item-search-result-detail-element.component';
|
||||
|
||||
let component: ItemSearchResultDetailElementComponent;
|
||||
@@ -65,6 +67,9 @@ describe('ItemSearchResultDetailElementComponent', () => {
|
||||
schemas: [NO_ERRORS_SCHEMA],
|
||||
}).overrideComponent(ItemSearchResultDetailElementComponent, {
|
||||
add: { changeDetection: ChangeDetectionStrategy.Default },
|
||||
remove: {
|
||||
imports: [ItemDetailPreviewComponent, ItemActionsComponent],
|
||||
},
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
|
@@ -17,8 +17,10 @@ import { Item } from '../../../../core/shared/item.model';
|
||||
import { WorkspaceItem } from '../../../../core/submission/models/workspaceitem.model';
|
||||
import { DSONameServiceMock } from '../../../mocks/dso-name.service.mock';
|
||||
import { getMockLinkService } from '../../../mocks/link-service.mock';
|
||||
import { WorkspaceitemActionsComponent } from '../../../mydspace-actions/workspaceitem/workspaceitem-actions.component';
|
||||
import { WorkflowItemSearchResult } from '../../../object-collection/shared/workflow-item-search-result.model';
|
||||
import { createSuccessfulRemoteDataObject } from '../../../remote-data.utils';
|
||||
import { ItemDetailPreviewComponent } from '../item-detail-preview/item-detail-preview.component';
|
||||
import { WorkspaceItemSearchResultDetailElementComponent } from './workspace-item-search-result-detail-element.component';
|
||||
|
||||
let component: WorkspaceItemSearchResultDetailElementComponent;
|
||||
@@ -75,6 +77,12 @@ describe('WorkspaceItemSearchResultDetailElementComponent', () => {
|
||||
schemas: [NO_ERRORS_SCHEMA],
|
||||
}).overrideComponent(WorkspaceItemSearchResultDetailElementComponent, {
|
||||
add: { changeDetection: ChangeDetectionStrategy.Default },
|
||||
remove: {
|
||||
imports: [
|
||||
ItemDetailPreviewComponent,
|
||||
WorkspaceitemActionsComponent,
|
||||
],
|
||||
},
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
|
@@ -15,6 +15,7 @@ import { LinkService } from '../../../core/cache/builders/link.service';
|
||||
import { Community } from '../../../core/shared/community.model';
|
||||
import { ActivatedRouteStub } from '../../testing/active-router.stub';
|
||||
import { CommunityGridElementComponent } from './community-grid-element.component';
|
||||
import { ThemedThumbnailComponent } from '../../../thumbnail/themed-thumbnail.component';
|
||||
|
||||
let communityGridElementComponent: CommunityGridElementComponent;
|
||||
let fixture: ComponentFixture<CommunityGridElementComponent>;
|
||||
@@ -60,6 +61,9 @@ describe('CommunityGridElementComponent', () => {
|
||||
schemas: [NO_ERRORS_SCHEMA],
|
||||
}).overrideComponent(CommunityGridElementComponent, {
|
||||
add: { changeDetection: ChangeDetectionStrategy.Default },
|
||||
remove: {
|
||||
imports: [ThemedThumbnailComponent],
|
||||
},
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
|
@@ -30,11 +30,15 @@ import { HALEndpointService } from '../../../../../core/shared/hal-endpoint.serv
|
||||
import { Item } from '../../../../../core/shared/item.model';
|
||||
import { PageInfo } from '../../../../../core/shared/page-info.model';
|
||||
import { UUIDService } from '../../../../../core/shared/uuid.service';
|
||||
import { ThemedThumbnailComponent } from '../../../../../thumbnail/themed-thumbnail.component';
|
||||
import { NotificationsService } from '../../../../notifications/notifications.service';
|
||||
import { ThemedBadgesComponent } from '../../../../object-collection/shared/badges/themed-badges.component';
|
||||
import { ItemSearchResult } from '../../../../object-collection/shared/item-search-result.model';
|
||||
import { createSuccessfulRemoteDataObject$ } from '../../../../remote-data.utils';
|
||||
import { ActivatedRouteStub } from '../../../../testing/active-router.stub';
|
||||
import { TruncatableComponent } from '../../../../truncatable/truncatable.component';
|
||||
import { TruncatableService } from '../../../../truncatable/truncatable.service';
|
||||
import { TruncatablePartComponent } from '../../../../truncatable/truncatable-part/truncatable-part.component';
|
||||
import { TruncatePipe } from '../../../../utils/truncate.pipe';
|
||||
import { ItemSearchResultGridElementComponent } from './item-search-result-grid-element.component';
|
||||
|
||||
@@ -250,6 +254,11 @@ export function getEntityGridElementTestComponent(component, searchResultWithMet
|
||||
schemas: [NO_ERRORS_SCHEMA],
|
||||
}).overrideComponent(component, {
|
||||
add: { changeDetection: ChangeDetectionStrategy.Default },
|
||||
remove: {
|
||||
imports: [
|
||||
ThemedThumbnailComponent, ThemedBadgesComponent, TruncatableComponent, TruncatablePartComponent,
|
||||
],
|
||||
},
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
|
@@ -7,10 +7,12 @@ import {
|
||||
TestBed,
|
||||
waitForAsync,
|
||||
} from '@angular/core/testing';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
|
||||
import { MetadataRepresentationType } from '../../../../core/shared/metadata-representation/metadata-representation.model';
|
||||
import { MetadatumRepresentation } from '../../../../core/shared/metadata-representation/metadatum/metadatum-representation.model';
|
||||
import { ValueListBrowseDefinition } from '../../../../core/shared/value-list-browse-definition.model';
|
||||
import { ActivatedRouteStub } from '../../../testing/active-router.stub';
|
||||
import { BrowseLinkMetadataListElementComponent } from './browse-link-metadata-list-element.component';
|
||||
|
||||
const mockMetadataRepresentation = Object.assign(new MetadatumRepresentation('type'), {
|
||||
@@ -37,6 +39,9 @@ describe('BrowseLinkMetadataListElementComponent', () => {
|
||||
void TestBed.configureTestingModule({
|
||||
imports: [BrowseLinkMetadataListElementComponent],
|
||||
schemas: [NO_ERRORS_SCHEMA],
|
||||
providers: [
|
||||
{ provide: ActivatedRoute, useValue: new ActivatedRouteStub() },
|
||||
],
|
||||
}).overrideComponent(BrowseLinkMetadataListElementComponent, {
|
||||
set: { changeDetection: ChangeDetectionStrategy.Default },
|
||||
}).compileComponents();
|
||||
|
@@ -45,6 +45,9 @@ import { ThemeService } from '../../../theme-support/theme.service';
|
||||
import { TruncatableService } from '../../../truncatable/truncatable.service';
|
||||
import { VarDirective } from '../../../utils/var.directive';
|
||||
import { ClaimedSearchResultListElementComponent } from './claimed-search-result-list-element.component';
|
||||
import { AsyncPipe, NgClass, NgIf } from '@angular/common';
|
||||
import { ThemedItemListPreviewComponent } from '../item-list-preview/themed-item-list-preview.component';
|
||||
import { ClaimedTaskActionsComponent } from '../../../mydspace-actions/claimed-task/claimed-task-actions.component';
|
||||
|
||||
let component: ClaimedSearchResultListElementComponent;
|
||||
let fixture: ComponentFixture<ClaimedSearchResultListElementComponent>;
|
||||
@@ -129,6 +132,9 @@ describe('ClaimedSearchResultListElementComponent', () => {
|
||||
schemas: [NO_ERRORS_SCHEMA],
|
||||
}).overrideComponent(ClaimedSearchResultListElementComponent, {
|
||||
add: { changeDetection: ChangeDetectionStrategy.Default },
|
||||
remove: {
|
||||
imports: [ThemedItemListPreviewComponent, ClaimedTaskActionsComponent],
|
||||
},
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
|
@@ -13,6 +13,8 @@ import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
|
||||
import { CollectionListEntry } from '../../../shared/collection-dropdown/collection-dropdown.component';
|
||||
import { ThemedCollectionDropdownComponent } from '../../../shared/collection-dropdown/themed-collection-dropdown.component';
|
||||
import { ThemedLoadingComponent } from '../../../shared/loading/themed-loading.component';
|
||||
import { getMockThemeService } from '../../../shared/mocks/theme-service.mock';
|
||||
import { createTestComponent } from '../../../shared/testing/utils.test';
|
||||
import { ThemeService } from '../../../shared/theme-support/theme.service';
|
||||
@@ -37,7 +39,16 @@ describe('SubmissionImportExternalCollectionComponent test suite', () => {
|
||||
{ provide: ThemeService, useValue: themeService },
|
||||
],
|
||||
schemas: [NO_ERRORS_SCHEMA],
|
||||
}).compileComponents().then();
|
||||
})
|
||||
.overrideComponent(SubmissionImportExternalCollectionComponent, {
|
||||
remove: {
|
||||
imports: [
|
||||
ThemedLoadingComponent,
|
||||
ThemedCollectionDropdownComponent,
|
||||
],
|
||||
},
|
||||
})
|
||||
.compileComponents().then();
|
||||
}));
|
||||
|
||||
// First test to check the correct component creation
|
||||
@@ -128,7 +139,7 @@ describe('SubmissionImportExternalCollectionComponent test suite', () => {
|
||||
expect(comp.selectedEvent.emit).toHaveBeenCalledWith(selected);
|
||||
});
|
||||
|
||||
it('dropdown should be invisible when the component is loading', () => {
|
||||
it('dropdown should be invisible when the component is loading', waitForAsync(() => {
|
||||
|
||||
spyOn(comp, 'isLoading').and.returnValue(true);
|
||||
fixture.detectChanges();
|
||||
@@ -137,7 +148,7 @@ describe('SubmissionImportExternalCollectionComponent test suite', () => {
|
||||
const dropdownMenu = fixture.debugElement.query(By.css('ds-themed-collection-dropdown')).nativeElement;
|
||||
expect(dropdownMenu.classList).toContain('d-none');
|
||||
});
|
||||
});
|
||||
}));
|
||||
|
||||
});
|
||||
});
|
||||
|
@@ -13,7 +13,6 @@ import {
|
||||
CreateData,
|
||||
CreateDataImpl,
|
||||
} from '../../../core/data/base/create-data';
|
||||
import { dataService } from '../../../core/data/base/data-service.decorator';
|
||||
import {
|
||||
DeleteData,
|
||||
DeleteDataImpl,
|
||||
@@ -40,7 +39,6 @@ import { NoContent } from '../../../core/shared/NoContent.model';
|
||||
import { URLCombiner } from '../../../core/url-combiner/url-combiner';
|
||||
import { NotificationsService } from '../../../shared/notifications/notifications.service';
|
||||
import { FollowLinkConfig } from '../../../shared/utils/follow-link-config.model';
|
||||
import { SUBMISSION_COAR_NOTIFY_CONFIG } from './section-coar-notify-service.resource-type';
|
||||
import { SubmissionCoarNotifyConfig } from './submission-coar-notify.config';
|
||||
|
||||
|
||||
@@ -48,7 +46,6 @@ import { SubmissionCoarNotifyConfig } from './submission-coar-notify.config';
|
||||
* A service responsible for fetching/sending data from/to the REST API on the CoarNotifyConfig endpoint
|
||||
*/
|
||||
@Injectable({ providedIn: 'root' })
|
||||
@dataService(SUBMISSION_COAR_NOTIFY_CONFIG)
|
||||
export class CoarNotifyConfigDataService extends IdentifiableDataService<SubmissionCoarNotifyConfig> implements FindAllData<SubmissionCoarNotifyConfig>, DeleteData<SubmissionCoarNotifyConfig>, PatchData<SubmissionCoarNotifyConfig>, CreateData<SubmissionCoarNotifyConfig> {
|
||||
createData: CreateDataImpl<SubmissionCoarNotifyConfig>;
|
||||
private findAllData: FindAllDataImpl<SubmissionCoarNotifyConfig>;
|
||||
|
@@ -28,6 +28,7 @@ import { JsonPatchOperationPathCombiner } from '../../../../core/json-patch/buil
|
||||
import { JsonPatchOperationsBuilder } from '../../../../core/json-patch/builder/json-patch-operations-builder';
|
||||
import { HALEndpointService } from '../../../../core/shared/hal-endpoint.service';
|
||||
import { SubmissionJsonPatchOperationsService } from '../../../../core/submission/submission-json-patch-operations.service';
|
||||
import { ThemedFileDownloadLinkComponent } from '../../../../shared/file-download-link/themed-file-download-link.component';
|
||||
import { FormBuilderService } from '../../../../shared/form/builder/form-builder.service';
|
||||
import { FormService } from '../../../../shared/form/form.service';
|
||||
import { getMockFormService } from '../../../../shared/mocks/form-service.mock';
|
||||
@@ -123,6 +124,7 @@ describe('SubmissionSectionUploadFileComponent test suite', () => {
|
||||
.overrideComponent(SubmissionSectionUploadFileComponent, {
|
||||
remove: { imports: [
|
||||
SubmissionSectionUploadFileViewComponent,
|
||||
ThemedFileDownloadLinkComponent,
|
||||
] },
|
||||
})
|
||||
.compileComponents().then();
|
||||
|
Reference in New Issue
Block a user