0.1.3 • Published 3 years ago

in-server-test v0.1.3

Weekly downloads
14
License
-
Repository
github
Last release
3 years ago

in-server-test

  • In server run test

Install And Run

npm:

$ npm install --save in-server-test

Run:

in-server-test run at process.env.e2e is true:

e2e=1 yarn start

or in index.js, set process.env.e2e:

process.env.e2e = 1;

inServerTest

1. Run Test Sign:

In src/controllers/sign.js, add:

import inServerTest from "in-server-test";

// first run index:1
inServerTest(1, "Test Sign", async (eq) => {
  const signData = await eq(
    fetch("http://localhost:3000/sign/?username=abc&password=123"),
    {
      code: 200,
      message: "sign done",
    }
  );

  // InServerTest.cache is {};
  InServerTest.cache.signData = signData;
});

2. Run Test Login:

In src/controllers/logn.js, add:

// seconed run index:2
inServerTest(2, "Test login", (eq) => {
  eq(
    fetch("http://localhost:3000/login/?username=abc&password=123"),
    { code: 200, message: "logined" },
    "Test with password"
  );

  eq(
    fetch(
      "http://localhost:3000/login/?username=abc&token=" +
        InServerTest.cache.signData.token
    ),
    { code: 200, message: "logined" },
    "Test with token"
  );
});

eq

type eq = (a: any, b: any, message?: string) => Promise<a>;

eq use try/catch: Promise.resolve(a) check deepEqual b:

inServerTest(2, "Test login", (eq) => {
  const testA = () => {
    throw "dog";
  };
  eq(a, "dog"); // right
});
0.1.3

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago