在Firebase功能CLI中模拟用户创建

时间:2017-11-12 20:59:35

标签: javascript firebase firebase-authentication google-cloud-functions firebase-tools

我正在编写一个在Firebase中创建新用户时触发的函数。调试此函数需要我很长时间,因为我为每一次更改部署了云函数。 我使用Firebase CLI来模拟数据库中的其他事件,但我无法弄清楚如何正确模拟用户创建(使用所有参数)。

要启动CLI,我运行:

firebase experimental:functions:shell

我的功能是:

exports.createTreeForNewUser = functions.auth.user().onCreate(event => {
    const user = event.data;
    console.log(user.uid);
    console.log(user.displayName);
    console.log(user.email);
    console.log(user.photoURL);
    console.log(user.metadata.creationTime);
    return null;
});

在Firebase CLI中运行以下命令时:

createTreeForNewUser()

它打印undefined 4次,然后是异常,因为它无法从creationTime中提取undefined。 这种行为是有道理的,但无论我尝试什么,我都无法弄清楚如何正确传递event(这样函数就能够提取我需要的所有参数)。

问题是: 如何在createTreeForNewUser参数设置正确的情况下运行event

谢谢! 斯拉维克

1 个答案:

答案 0 :(得分:1)

将用户对象传递给函数:

createTreeForNewUser({
    uid: 'xxx',
    displayName: 'John',
    email: 'foo@bar.com',
    photoURL: 'https://...',
    metadata: {creationTime: 123}
})