У меня есть серверное приложение, и я хочу провести на нем модульное тестирование
Я знаю, что для Jest есть безсерверный плагин, но сейчас я использую классический Jest.
У меня есть функциякак это в tools.js файле
const ddb = require('./ddb');
const table = process.env.USER_TABLE;
...
module.exports.mailExist = async email => {
if (!email) {
throw new Error('Missing parameters');
}
return await ddb.scan({
TableName: table,
FilterExpression: 'email = :email',
ExpressionAttributeValues: {
':email': email
},
ProjectionExpression: ['uid']
});
};
И я хотел бы проверить это в __ test __ / tools.test.js file
describe('mailExist', async () => {
const email = 'example@example.com';
const mailExist = await tools.mailExist(email)
it('should not exist', () => {
expect(mailExist).toBe({})
})
});
Проблема в том, что когда я запускаю свой тест, он возвращает
Отсутствует обязательный ключ TableName в параметрах
, поскольку моя переменная tableпеременная окружения
И если я напишу имя таблицы после переменной окружения, она вернет
Отсутствует область в конфигурации
Так что мой вопрос, Я хотел бы знать, как я могу проверить свою функцию моего серверного приложения в определенном файле и как я могу передать свою конфигурацию AWS своей функции?
Если у вас есть вопросы, скажите мне
Спасибо
PS: моя функция сканирования в файле ddb выглядит следующим образом
//ddb.js
module.exports.scan = async params => {
const result = await DynamoDB.scan(params).promise();
return result.Items;
};