在标头中使用sessionStorage测试Axios POST

时间:2018-10-04 07:56:39

标签: typescript axios jestjs enzyme react-tsx

我需要您的帮助来创建测试。希望你们能有所帮助。 这就是我要测试的方法:

static signUp(
username: string | File | null,
roles: UserRole[],
setStatusLabel: Function) {
axios
  .post(
    "/api/sign-up",
    {
      username: username,
      roles: roles
    },
    {
      headers: {
        "Content-Type": "application/json",
        authorization: sessionStorage.getItem("MCP-token")
      }
    }
  )
  .then(response => {
    if (response.status === 201) {
      setStatusLabel(
        "Benutzer registriert! Initiales Passwort: " +
          response.data.initialPassword
      );
    }
  })
  .catch(error => {
    if (error.response.status === 400) {
      setStatusLabel("Benutzer existiert bereits!");
    } else if ((error.response.status = 500)) {
      setStatusLabel(
        "Error: Bitte stellen Sie sicher das Sie mit dem Server verbunden sind und laden Sie die Seite neu."
      );
    }
  });
}

我的问题是我并没有真正理解/了解如何测试和模拟发布请求以及如何模拟请求标头中的sessionStorage项目。我也没有在互联网上真正找到示例,所以我有点迷路。

也许你们可以向我展示此功能的测试样子,这将是一个巨大的帮助:)

我想使用Jest,酶和Axios-Mock-Adapter进行测试。

0 个答案:

没有答案