@shelf/jest-dynamodb
Version:
Run your tests using Jest & DynamoDB local
33 lines (32 loc) • 1.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = _default;
var _dynamodbLocal = _interopRequireDefault(require("dynamodb-local"));
var _deleteTables = _interopRequireDefault(require("./utils/delete-tables"));
var _getConfig = _interopRequireDefault(require("./utils/get-config"));
var _getRelevantTables = _interopRequireDefault(require("./utils/get-relevant-tables"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const debug = require('debug')('jest-dynamodb');
async function _default(jestArgs) {
// eslint-disable-next-line no-console
debug('Teardown DynamoDB');
if (global.__DYNAMODB__) {
const watching = jestArgs.watch || jestArgs.watchAll;
if (!watching) {
await _dynamodbLocal.default.stopChild(global.__DYNAMODB__);
}
} else {
const dynamoDB = global.__DYNAMODB_CLIENT__;
const {
tables: targetTables
} = await (0, _getConfig.default)(debug);
const {
TableNames: tableNames
} = await dynamoDB.listTables({});
if (tableNames?.length) {
await (0, _deleteTables.default)(dynamoDB, (0, _getRelevantTables.default)(tableNames, targetTables));
}
}
}