import { Observable, of as observableOf } from 'rxjs'; import { PageInfo } from '../../core/shared/page-info.model'; import { VocabularyEntry } from '../../core/submission/vocabularies/models/vocabulary-entry.model'; import { buildPaginatedList, PaginatedList } from '../../core/data/paginated-list.model'; import { createSuccessfulRemoteDataObject$ } from '../remote-data.utils'; import { RemoteData } from '../../core/data/remote-data'; import { VocabularyOptions } from '../../core/submission/vocabularies/models/vocabulary-options.model'; import { Vocabulary } from '../../core/submission/vocabularies/models/vocabulary.model'; export class VocabularyServiceStub { private _payload = [ Object.assign(new VocabularyEntry(), { authority: 1, display: 'one', value: 1 }), Object.assign(new VocabularyEntry(), { authority: 2, display: 'two', value: 2 }), ]; setNewPayload(payload) { this._payload = payload; } getList() { return this._payload; } getVocabularyEntries(vocabularyOptions: VocabularyOptions, pageInfo: PageInfo): Observable<RemoteData<PaginatedList<VocabularyEntry>>> { return createSuccessfulRemoteDataObject$(buildPaginatedList(new PageInfo(), this._payload)); } getVocabularyEntriesByValue(value: string, exact: boolean, vocabularyOptions: VocabularyOptions, pageInfo: PageInfo): Observable<RemoteData<PaginatedList<VocabularyEntry>>> { return createSuccessfulRemoteDataObject$(buildPaginatedList(new PageInfo(), this._payload)); } getVocabularyEntryByValue(value: string, vocabularyOptions: VocabularyOptions): Observable<VocabularyEntry> { return observableOf(Object.assign(new VocabularyEntry(), { authority: 1, display: 'one', value: 1 })); } getVocabularyEntryByID(id: string, vocabularyOptions: VocabularyOptions): Observable<VocabularyEntry> { return observableOf(Object.assign(new VocabularyEntry(), { authority: 1, display: 'one', value: 1 })); } findVocabularyById(id: string): Observable<RemoteData<Vocabulary>> { return; } }