Как лучше всего тестировать сложный сайт?

Добрый день!
Столкнулся с таким вопросом: как будет более правильно и красиво тестировать плагинацию в mocha.js?
Сейчас просто генерирую тесты через forEach loop, и прогоняю их, но мне кажется что это не самый красивый вариант:
[30, 18, 378, -9000].forEach(function (userLimit) {
  it(`should response valid chunked (limit: ${userLimit}) data `, async function () {
    const agent = request.agent(app);

    await agent
      .post('/rest/auth')
      .send({
        username,
        password
      });

    let users = [];
    let offset = 0;

    while (offset <= totalUserCount) {
      await agent
        .get('/rest/users')
        .query({
          limit: userLimit,
          offset: offset
        })
        .expect('Content-Type', /json/)
        .expect(200)
        .expect((res) => {
          const {body} = res;

          users = users.concat(body.data);

          if (userLimit < 1) {
            offset += 1;
          } else if (userLimit > 100) {
            offset += 100;
          } else {
            offset += userLimit;
          }
        });
    }

    expect(users).have.lengthOf(totalUserCount);
  });
});


Если цикл запихнуть в тело, тогда тест будет проходить очень долго. А моком заткнуть не получится потому-что от части тестируется работа с базой.

Как в таком случае будет более красиво переписать этот код, учитывая что есть почти на 90% повторяющийся тест только без плагинации, что-бы проверить как ведет себя REST без переданных параметров?
  • Вопрос задан
  • 867 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы