如何在没有字符串插值的情况下将变量传递到cy.request for graphql / apollo

问题描述

当前,下面的方法有效,但是我知道这是一种不好的做法,并且我不想由于此实现而在将来遇到问题。

export const loginQuery = ({ email,password }) => `
  mutation login {
    login(email: "${email}",password: "${password}") {
      authToken
    }
  }
`;

export default ({ url,method,userPath }) => {
  cy.fixture(userPath).then(res => {
    const query = loginQuery(res);
    cy.request({
      method,url,headers: { 'Content-Type': 'application/json' },body: { query },failOnStatusCode: false
    });
  });
};

如何正常传递变量,而不是通过字符串插值手动传递变量?

之所以这样写是因为我不能使用react-apollo / graphql-tag。我已经尝试过,但是graphqlreact-apollo需要包装在不适用于此柏树上下文的组件中。

注意:上面的实现不适用于对象/数组。我将需要手动传递突变中写出的对象内的特定键,而不仅仅是代表整个对象的变量。这显然是一个问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)