模拟admin.firestore()。collection()。get()

时间:2018-04-12 15:24:44

标签: javascript firebase google-cloud-firestore google-cloud-functions

与此[问题] [1]相关,我正在尝试在进行单元测试时模拟firestore。

我试图模拟的代码如下:

<GridViewColumn x:Name="theColumn">
    <GridViewColumn.CellTemplate>
        <DataTemplate>
            <local:TheResizingControl />
        </DataTemplate>
    </GridViewColumn.CellTemplate>
</GridViewColumn>

我试图模仿它看起来像这样:

const firestore = admin.firestore();
const users = await firestore.collection('users').get();

然而它不起作用。

我创建了一个repo(正式函数repo的克隆),如果它有帮助,则给出整个示例here

1 个答案:

答案 0 :(得分:3)

在马克的帮助下,我得到了这个工作:

sinon.stub(admin, 'firestore')
        .get(() => {
            return function() {
                return {
                    collection: (path) => {
                        return {
                            get: () => [{user: 'mock-user-1'}, {user: 'mock-user-2'}]
                        }
                    }
                }
            }
        });

它看起来很疯狂 - 所以如果每个人都知道更好的解决方案,请告诉我!