mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-08 18:44:14 +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 { 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 { ExpandableAdminSidebarSectionComponent } from './+admin/admin-sidebar/expandable-admin-sidebar-section/expandable-admin-sidebar-section.component';
|
||||||
import { NavbarModule } from './navbar/navbar.module';
|
import { NavbarModule } from './navbar/navbar.module';
|
||||||
import { JournalEntitiesModule } from './entity-groups/journal-entities/journal-entities.module';
|
import { JournalEntitiesModule } from './shared/mocks/dspace-restv2/entity-groups/journal-entities/journal-entities.module';
|
||||||
import { ResearchEntitiesModule } from './entity-groups/research-entities/research-entities.module';
|
import { ResearchEntitiesModule } from './shared/mocks/dspace-restv2/entity-groups/research-entities/research-entities.module';
|
||||||
import { ClientCookieService } from './core/services/client-cookie.service';
|
import { ClientCookieService } from './core/services/client-cookie.service';
|
||||||
|
|
||||||
export function getConfig() {
|
export function getConfig() {
|
||||||
|
@@ -128,8 +128,8 @@ import {
|
|||||||
MOCK_RESPONSE_MAP,
|
MOCK_RESPONSE_MAP,
|
||||||
MockResponseMap,
|
MockResponseMap,
|
||||||
mockResponseMap
|
mockResponseMap
|
||||||
} from './dspace-rest-v2/mocks/mock-response-map';
|
} from '../shared/mocks/dspace-rest-v2/mocks/mock-response-map';
|
||||||
import { EndpointMockingRestService } from './dspace-rest-v2/endpoint-mocking-rest.service';
|
import { EndpointMockingRestService } from '../shared/mocks/dspace-rest-v2/endpoint-mocking-rest.service';
|
||||||
import { ENV_CONFIG, GLOBAL_CONFIG, GlobalConfig } from '../../config';
|
import { ENV_CONFIG, GLOBAL_CONFIG, GlobalConfig } from '../../config';
|
||||||
import { SearchFilterService } from './shared/search/search-filter.service';
|
import { SearchFilterService } from './shared/search/search-filter.service';
|
||||||
import { SearchConfigurationService } from './shared/search/search-configuration.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 { RelationshipTypeService } from './data/relationship-type.service';
|
||||||
import { SidebarService } from '../shared/sidebar/sidebar.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) => {
|
export const restServiceFactory = (cfg: GlobalConfig, mocks: MockResponseMap, http: HttpClient) => {
|
||||||
if (ENV_CONFIG.production) {
|
if (ENV_CONFIG.production) {
|
||||||
return new DSpaceRESTv2Service(http);
|
return new DSpaceRESTv2Service(http);
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
import { HttpHeaders, HttpResponse } from '@angular/common/http';
|
import { HttpHeaders, HttpResponse } from '@angular/common/http';
|
||||||
import { of as observableOf } from 'rxjs';
|
import { of as observableOf } from 'rxjs';
|
||||||
import { GlobalConfig } from '../../../config/global-config.interface';
|
import { GlobalConfig } from '../../../../config/global-config.interface';
|
||||||
import { RestRequestMethod } from '../data/rest-request-method';
|
import { RestRequestMethod } from '../../../core/data/rest-request-method';
|
||||||
import { EndpointMockingRestService } from './endpoint-mocking-rest.service';
|
import { EndpointMockingRestService } from './endpoint-mocking-rest.service';
|
||||||
import { MockResponseMap } from './mocks/mock-response-map';
|
import { MockResponseMap } from './mocks/mock-response-map';
|
||||||
|
|
@@ -1,12 +1,12 @@
|
|||||||
import { HttpClient, HttpHeaders } from '@angular/common/http'
|
import { HttpClient, HttpHeaders } from '@angular/common/http'
|
||||||
import { Inject, Injectable } from '@angular/core';
|
import { Inject, Injectable } from '@angular/core';
|
||||||
import { Observable, of as observableOf } from 'rxjs';
|
import { Observable, of as observableOf } from 'rxjs';
|
||||||
import { GLOBAL_CONFIG, GlobalConfig } from '../../../config';
|
import { GLOBAL_CONFIG, GlobalConfig } from '../../../../config';
|
||||||
import { isEmpty } from '../../shared/empty.util';
|
import { isEmpty } from '../../empty.util';
|
||||||
import { RestRequestMethod } from '../data/rest-request-method';
|
import { RestRequestMethod } from '../../../core/data/rest-request-method';
|
||||||
|
|
||||||
import { DSpaceRESTV2Response } from './dspace-rest-v2-response.model';
|
import { DSpaceRESTV2Response } from '../../../core/dspace-rest-v2/dspace-rest-v2-response.model';
|
||||||
import { DSpaceRESTv2Service, HttpOptions } from './dspace-rest-v2.service';
|
import { DSpaceRESTv2Service, HttpOptions } from '../../../core/dspace-rest-v2/dspace-rest-v2.service';
|
||||||
import { MOCK_RESPONSE_MAP, MockResponseMap } from './mocks/mock-response-map';
|
import { MOCK_RESPONSE_MAP, MockResponseMap } from './mocks/mock-response-map';
|
||||||
import * as URL from 'url-parse';
|
import * as URL from 'url-parse';
|
||||||
|
|
||||||
@@ -14,6 +14,8 @@ import * as URL from 'url-parse';
|
|||||||
* Service to access DSpace's REST API.
|
* Service to access DSpace's REST API.
|
||||||
*
|
*
|
||||||
* If a URL is found in this.mockResponseMap, it returns the mock response instead
|
* 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()
|
@Injectable()
|
||||||
export class EndpointMockingRestService extends DSpaceRESTv2Service {
|
export class EndpointMockingRestService extends DSpaceRESTv2Service {
|
@@ -1,5 +1,5 @@
|
|||||||
import { InjectionToken } from '@angular/core';
|
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> {};
|
export class MockResponseMap extends Map<string, any> {};
|
||||||
|
|
Reference in New Issue
Block a user