小编Nic*_*ick的帖子

Angular/AWS Cognito 用户登录错误 - 类型“凭据”上不存在属性“刷新”

我正在尝试为我的 Angular 7 应用程序配置用户登录,并且已经构建了大部分cognitoUser.authenticateUser()方法,但是在该onSuccess()方法中,我无法刷新 AWS 配置凭证,因为我在以下位置收到以下错误AWS.config.credentials.refresh()

“‘Credentials | CredentialsOptions’类型不存在‘refresh’属性。‘CredentialsOptions’类型不存在‘refresh’属性。”

auth.service.ts:

import { Injectable } from '@angular/core';
import { Router } from '@angular/router';

import * as AWS from 'AWS-sdk';
import { CognitoIdentityCredentials } from 'AWS-sdk';
import * as AmazonCognitoIdentity from 'amazon-cognito-identity-js';
import credentials from '../../../../server/credentials.json';

@Injectable({
  providedIn: 'root'
})

export class AuthService {

  user: AmazonCognitoIdentity.CognitoUser;

  userPool;
  userData;

  isAuthenticated: boolean;

  constructor(private router: Router) {
    const poolData = {
        UserPoolId: '*****',
        ClientId: credentials.appClientId
    }

    this.userPool = new …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-cognito aws-lambda angular angular7

7
推荐指数
1
解决办法
1084
查看次数

Jest - 如何测试调用了 console.error ?

我正在尝试使用 jest/enzyme 编写一个单元测试,该测试测试是否console.error()catch()a 中被调用try/catch,但尝试这样做要么会在测试不成功时导致成功测试,要么会导致“预期的模拟函数被调用,但它没有被称为“错误。

测试功能:

export const playSound = (soundName, extension = 'wav') => {
  try {
    SoundPlayer.onFinishedPlaying(success => success);
    SoundPlayer.playSoundFile(soundName, extension);
  } catch (err) {
    console.error(`Error playing sound '${soundName}':`, err);
    return err;
  }
};
Run Code Online (Sandbox Code Playgroud)

所以上面的参数只有一个参数soundName,它是一个字符串,我试图测试当没有参数传入时是否记录了控制台错误。

我最近尝试了下面的方法,这似乎离我们很远,并且错误地返回了通过的测试。

it('fails to play sound with no method arguments', async () => {
  const consoleSpy = jest
    .spyOn(console, 'error')
    .mockImplementation(() => {});
  try {
    playSound();
    expect(consoleSpy).not.toHaveBeenCalled();
  } catch (err) {
    expect(consoleSpy).toHaveBeenCalled();
  }
});
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing jestjs

4
推荐指数
1
解决办法
4188
查看次数