Дразнящее динамодное сканирование с использованием шутки - PullRequest
0 голосов
/ 25 января 2019

Для исходного кода (dynamicodb.js):

const AWS = require("aws-sdk"); 
const Promise = require("bluebird");
const client = new AWS.DynamoDB.DocumentClient();
module.exports.db = (method, params) => {
  console.log("access dynamodb ");
  return Promise.fromCallback(cb => client[method](params, cb));
};

Использование теста, который выглядит следующим образом (не хочу издеваться над Promise.fromCallback):

describe("test", () => {
  const realAWS = require("aws-sdk");
  let fakePromise;
  let fakeDynamo;
  let dbClient;
  beforeAll(function() {
    fakePromise = jest.fn();
    fakeDynamo = {
      get: (params, cb) => {
        fakePromise(params, cb);
      }
    };
    realAWS.DynamoDB.DocumentClient = jest.fn(() => fakeDynamo);
    dbClient = require("../dynamodb");
  });
  test.only("Test successed", done => {
    let result = dbClient.db("get", null);
    console.log("access dynamodb ");
    expect(fakePromise).toHaveBeenCalled();
  });
});

но при настройке теста ошибка была следующей:

Timeout - Async callback was not invoked within the 5000ms timeout specified by jest.setTimeout.

если кто-нибудь может мне помочь? Спасибо!

...