这是我到目前为止所拥有的。但是我不知道编写测试来确保它工作正常。
const uniqid = require('uniqid');
module.exports = ({ name }) => {
return context => {
// Generate a uniqid and add it user
context.data['id'] = uniqid(name).toUpperCase();
return context;
};
};
我正在使用eslint和摩卡咖啡
答案 0 :(得分:1)
我假设您要测试context
接收到适当的id
,这是一个大写的String
,以name
开头,后跟18个字符{{1 }}或数字。
我不知道您使用的是什么测试框架,但是您可以使用Regular Expression来验证A-Z
:
id
编辑:由于您使用的是// ignore this, just require the 'uniqid' module
const uniqid = str => `${str}4n5pxq24kpiob12og9`;
const addId = ({name}) => {
return context => {
// Generate a uniqid and add it user
context.data['id'] = uniqid(name).toUpperCase();
return context;
};
};
// addId should add an appropriate id to `user.data.id`
const {data: {id}} = addId({name: 'Annie'})({data: {}});
console.assert(/^ANNIE[A-Z\d]{18}$/.test(id));
,因此您还可以添加mocha
并使用其match
方法,如下所示:
chai