Как протестировать вложенную функцию ожидания в JS - PullRequest
0 голосов
/ 29 января 2020
const test = async (url, id) => {
  if (!isValidUrl(url)) {
    throw new Error('Invalid URL')
  }
  const storage = new Storage(Indexdb, id);
  const cae = new valueExtract(url);
  const data = await cae.fetch();
  const obj = await new ZIPExtractor(data); // shudder. A constructor should never return a promise
  const zip = await obj.getZip();
  const list = await zip.getList();
  const sI = storage.connection;
  await Promise.all(Object.keys(list).map(async (fileName, index) => {
    const blob = await new FileExtractor(list[fileName]);
    const store = new StoreObject(fileName, 'testData', blob);
    await sI.setItemForce(fileName, store.dataObject);
  }));
  return sI; // or something?
}

Это ответ на вопрос , который я задал, я также хотел знать, как мы тестируем такие вложенные ожидаемые функции.

единица Тест нормального удовольствия

test('Tes scenario', () => {
  let storage = new StorageAdapter(
    type,
    dbName
  )
  expect(storage.storageName).toBe(dbName)
  expect(storage.storageType).toEqual(type)
  expect(storage.connection).not.toBeNull()
})
...