mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 18:14:17 +00:00
added documentation for endpoint mock service
This commit is contained in:
@@ -37,8 +37,8 @@ import { AdminSidebarComponent } from './+admin/admin-sidebar/admin-sidebar.comp
|
||||
import { AdminSidebarSectionComponent } from './+admin/admin-sidebar/admin-sidebar-section/admin-sidebar-section.component';
|
||||
import { ExpandableAdminSidebarSectionComponent } from './+admin/admin-sidebar/expandable-admin-sidebar-section/expandable-admin-sidebar-section.component';
|
||||
import { NavbarModule } from './navbar/navbar.module';
|
||||
import { JournalEntitiesModule } from './entity-groups/journal-entities/journal-entities.module';
|
||||
import { ResearchEntitiesModule } from './entity-groups/research-entities/research-entities.module';
|
||||
import { JournalEntitiesModule } from './shared/mocks/dspace-restv2/entity-groups/journal-entities/journal-entities.module';
|
||||
import { ResearchEntitiesModule } from './shared/mocks/dspace-restv2/entity-groups/research-entities/research-entities.module';
|
||||
import { ClientCookieService } from './core/services/client-cookie.service';
|
||||
|
||||
export function getConfig() {
|
||||
|
@@ -128,8 +128,8 @@ import {
|
||||
MOCK_RESPONSE_MAP,
|
||||
MockResponseMap,
|
||||
mockResponseMap
|
||||
} from './dspace-rest-v2/mocks/mock-response-map';
|
||||
import { EndpointMockingRestService } from './dspace-rest-v2/endpoint-mocking-rest.service';
|
||||
} from '../shared/mocks/dspace-rest-v2/mocks/mock-response-map';
|
||||
import { EndpointMockingRestService } from '../shared/mocks/dspace-rest-v2/endpoint-mocking-rest.service';
|
||||
import { ENV_CONFIG, GLOBAL_CONFIG, GlobalConfig } from '../../config';
|
||||
import { SearchFilterService } from './shared/search/search-filter.service';
|
||||
import { SearchConfigurationService } from './shared/search/search-configuration.service';
|
||||
@@ -137,6 +137,10 @@ import { SelectableListService } from '../shared/object-list/selectable-list/sel
|
||||
import { RelationshipTypeService } from './data/relationship-type.service';
|
||||
import { SidebarService } from '../shared/sidebar/sidebar.service';
|
||||
|
||||
/**
|
||||
* When not in production, endpoint responses can be mocked for testing purposes
|
||||
* If there is no mock version available for the endpoint, the actual REST response will be used just like in production mode
|
||||
*/
|
||||
export const restServiceFactory = (cfg: GlobalConfig, mocks: MockResponseMap, http: HttpClient) => {
|
||||
if (ENV_CONFIG.production) {
|
||||
return new DSpaceRESTv2Service(http);
|
||||
|
@@ -1,7 +1,7 @@
|
||||
import { HttpHeaders, HttpResponse } from '@angular/common/http';
|
||||
import { of as observableOf } from 'rxjs';
|
||||
import { GlobalConfig } from '../../../config/global-config.interface';
|
||||
import { RestRequestMethod } from '../data/rest-request-method';
|
||||
import { GlobalConfig } from '../../../../config/global-config.interface';
|
||||
import { RestRequestMethod } from '../../../core/data/rest-request-method';
|
||||
import { EndpointMockingRestService } from './endpoint-mocking-rest.service';
|
||||
import { MockResponseMap } from './mocks/mock-response-map';
|
||||
|
@@ -1,12 +1,12 @@
|
||||
import { HttpClient, HttpHeaders } from '@angular/common/http'
|
||||
import { Inject, Injectable } from '@angular/core';
|
||||
import { Observable, of as observableOf } from 'rxjs';
|
||||
import { GLOBAL_CONFIG, GlobalConfig } from '../../../config';
|
||||
import { isEmpty } from '../../shared/empty.util';
|
||||
import { RestRequestMethod } from '../data/rest-request-method';
|
||||
import { GLOBAL_CONFIG, GlobalConfig } from '../../../../config';
|
||||
import { isEmpty } from '../../empty.util';
|
||||
import { RestRequestMethod } from '../../../core/data/rest-request-method';
|
||||
|
||||
import { DSpaceRESTV2Response } from './dspace-rest-v2-response.model';
|
||||
import { DSpaceRESTv2Service, HttpOptions } from './dspace-rest-v2.service';
|
||||
import { DSpaceRESTV2Response } from '../../../core/dspace-rest-v2/dspace-rest-v2-response.model';
|
||||
import { DSpaceRESTv2Service, HttpOptions } from '../../../core/dspace-rest-v2/dspace-rest-v2.service';
|
||||
import { MOCK_RESPONSE_MAP, MockResponseMap } from './mocks/mock-response-map';
|
||||
import * as URL from 'url-parse';
|
||||
|
||||
@@ -14,6 +14,8 @@ import * as URL from 'url-parse';
|
||||
* Service to access DSpace's REST API.
|
||||
*
|
||||
* If a URL is found in this.mockResponseMap, it returns the mock response instead
|
||||
* This service can be used for mocking REST responses when developing new features
|
||||
* This is especially useful, when a REST endpoint is broken or does not exist yet
|
||||
*/
|
||||
@Injectable()
|
||||
export class EndpointMockingRestService extends DSpaceRESTv2Service {
|
@@ -1,5 +1,5 @@
|
||||
import { InjectionToken } from '@angular/core';
|
||||
import mockSubmissionResponse from '../mocks/mock-submission-response.json';
|
||||
import mockSubmissionResponse from './mock-submission-response.json';
|
||||
|
||||
export class MockResponseMap extends Map<string, any> {};
|
||||
|
Reference in New Issue
Block a user