RequestMock不带正文返回222状态代码

时间:2019-08-25 17:52:25

标签: testing mocking xmlhttprequest e2e-testing testcafe

我是testcafe的新手,并且在运行SPA测试时尝试使用RequestMock模拟服务器,不幸的是,每次运行测试并检查登录页面的网络请求时,都会收到222响应代码,所以我不确定自己在做什么错。

试图将模拟变量添加到带有requestHooks的测试中,也没有成功

import { Selector, RequestMock } from "testcafe";

const mock = RequestMock()
  .onRequestTo("http://web.restaurant.docker/api/login")
  .respond(
    {
      result: true,
      name: "Test Restaurant",
      data: {
        name: "Test User",
        api_token:
          "SOME_TOKEN",
        customer_id: 1
      },
      pos: { "1": "Caja", "2": "Caja Emergencias" }
    },
    200,
    {
      "access-control-allow-credentials": true,
      "access-control-allow-origin": "*"
    }
  );

fixture`Login`.page`../index.html`;

test("I can log in to the app", async t => {
  // Realiza el login
  await t
    .expect(
      Selector("form.login-form", {
        visibilityCheck: true
      }).exists
    )
    .ok()
    .typeText("#login-email", "test@test.com")
    .typeText("#login-password", "test")
    .click(".login-form button");

  // Define un nombre al pos
  await t.typeText(".dialog input", "test").click(".dialog button.ok");
  // Verifica que estoy en la ventana de seleccionar POS
  await t.expect(Selector(".restaurant-name").innerText).eql("Test Restaurant");
});

我希望看到将对象传递给RequestMock的200个响应

1 个答案:

答案 0 :(得分:3)

您需要将RequestMock附加到您的测试或固定装置,如此处所述:Attaching Hooks to Tests and Fixtures