Angular 8 Жасмин шпион и returnValue с другим типом - PullRequest
0 голосов
/ 17 марта 2020

У меня есть служба REST, сгенерированная openapi-generator-cli. Таким образом, сгенерированные сервисы выглядят так:

public list([...paramaters]): Observable<Array<CustomObject>>;
public list([...paramaters]): Observable<HttpResponse<Array<CustomObject>>>;
public list([...paramaters]): Observable<HttpEvent<Array<CustomObject>>>;
public list([...paramaters]): Observable<any> {
    [generated service code here]
}

Моя проблема в том, что я хочу протестировать сервис с:

const httpServiceSpy = jasmine.createSpyObj('HttpCustomObjectService', [
    'list',
    'create',
  ]);

if('should', () => {
    const listOfValues: CustomObject[] = [value];
    httpService.list.and.returnValue(of(listOfValues));
})

Я не могу даже построить, потому что у меня всегда есть:

Argument of type 'Observable<CustomObject[]>' is not assignable to parameter of type 'Observable<HttpEvent<CustomObject[]>>'

Я могу написать:

httpService.list.and.returnValue(of(new HttpResponse({ body: listOfValues})));

, но остальная часть моего кода не работает, потому что не ожидает Observable >>, но Observable >

Есть ли способ выбрать тип возвращаемого значения returnValue из всех возможных автоматически генерируемых?

...