赛普拉斯graphql请求

时间:2020-11-03 23:09:30

标签: cypress

所以我的应用程序的某些部分根据当前已登录的用户状态动态运行。因此,我添加了一个cypress命令,以触发对我的服务器的graphql请求,以修改该用户状态。

    Cypress.Commands.add('toggleUserState', (isComplete: boolean) => {
    const baseUrl = Cypress.config().baseUrl;
    return cy.request('/auth/me').then((res) => {
        const token = res.body.idToken;
        cy.log(`using ${token} as token`);
        const gqlClient = new GraphQLClient(`${baseUrl}graphql`, {
            headers: { Authorization: `Bearer ${token}` },
        });
        const sdk = getSdk(gqlClient);
        return sdk.user().then((userRe) => {
            return sdk.updateUserStateForSession({
                userId: userRes.user.id,
                isFirstTimeExperienceComplete: isComplete,
            });
        });
    });
}); 

当我在cypress:open图形模式下运行cypress时,此方法有效。但是,无头运行,我总是收到一条错误消息,说我无权提出此请求。即使我在这里手动设置访问令牌也是如此。

任何人都对我该如何做有想法

0 个答案:

没有答案