Аргумент типа не может быть назначен типу параметра ArrayLike <{}> - PullRequest
0 голосов
/ 26 февраля 2019

Я получаю следующую ошибку в коде Visual Studio при попытке написать модульный тест.

Аргумент типа '{id: string;lastName: строка;firstName: строка;пароль: строка;passwordInHistory: логическое значение;} 'нельзя назначить параметру типа' ArrayLike <{}> '.Объектный литерал может указывать только известные свойства, а «id» не существует в типе «ArrayLike <{}> '

, эта часть кода вызывает ошибку

spyOn(usersService, 'getUserPasswordHistory').and.returnValue(Observable.from({ id: "id", lastName: "prasanth", firstName: "mp", password: "bingo!!!", passwordInHistory: true }));

ниже приведена функция getUserPasswordHistory, объявленная в классе UserService

@Injectable()
export class UsersService {

  getUserPasswordHistory(resetKey: string, newPassword: string) {
    return this.http.get<PasswordResetHistoryStatus>(
      `${
        this.config.api
      }/users/password-in-history/reset-key/${resetKey}/password/${newPassword}`
    );
  }

}

я пытался использовать observable.create

Observable.create({ id: "id", lastName: "prasanth", firstName: "mp", password: "bingo!!!", passwordInHistory: true }) 

вместо observable.from

однако сейчася получаю сообщение об ошибке

Ожидаемый наблюдаемый ({_isScalar: false, источник: наблюдаемый ({_isScalar: false, _subscribe: Object ({id: 'id', lastName: 'prasanth', firstName: ')mp ', пароль:' bingo !!! ', passwordInHistory: true})}), оператор: MapOperator ({project: Function, thisArg: undefined})}) равен нулю.

...