Администратор Firebase: admin.auth (). Delete (uid) не разрешается в AVA test.after () - PullRequest
0 голосов
/ 21 мая 2018

У меня был быстрый вопрос об использовании AVA для тестирования с Firebase.При использовании test.after.finally () с Firebase Admin для удаления учетных записей пользователей при очистке теста обещание не разрешается или выдает ошибку.Очень велика вероятность того, что я не делаю правильную вещь здесь и хотел бы получить какой-либо ввод.

Мой код:

test.after.always(async () => {
    internals.ids.forEach(async (id) => {
        await admin.database().ref(`users/${id}`).remove();
        await admin.auth().deleteUser(id);
    });
});

Где internals.ids - это массив идентификаторов, которые необходимобыть очищенным в конце выполнения всех тестов.

Это может или не может быть связано с несерийным характером AVA, но я не уверен на 100%.Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.Спасибо!

1 Ответ

0 голосов
/ 22 мая 2018

Попробуйте вместо этого:

for (const id of internals.ids) {
  await ...remove()
  await ...deleteUser(id)
}

Поскольку вы используете forEach(), после ловушки фактически не ожидает завершения каких-либо удалений / удалений пользователей, и процесс, вероятно, сложно завершитсяпрежде чем они делают.

...