Шут | Утилита тестирования, которая принимает несколько параметров - PullRequest
0 голосов
/ 02 июля 2019

Я создал эту утилиту.Он принимает 3 параметра (значение: строка, сервис: любой which is an actual service(GET), имя: строка).

Вот утилита:

import { serverErrorResponseUtil } from 'util/serverErrorResponseUtil';
import { HttpError } from 'factories/httpFactory';

const validateUniqueName = (value: string, service: any, name: string): string =>
  service()
    .then(({ data }: { data: object }) => {
      if (Array.isArray(data) && data.find(resourceData => resourceData.name === value)) {
        throw new Error(`${name} already exists`);
      }
    })
    .catch((error: HttpError) => {
      throw serverErrorResponseUtil(error);
    });

export default validateUniqueName;

Я пытаюсь протестировать эту утилиту,но так как мне нужно принять service в качестве параметра вместе с value, name, я немного озадачен тем, как это сделать.

Вот что я сделал:

import validateUniqueName from '../validateUniqueName';
import validationRules from '../__mocks__/validationRules';

jest.mock('../__mocks__/services.ts');

describe('validateUniqueName', () => {
  let validateUniqueNameFn: Function = jest.fn();
  beforeEach(() => {
    validateUniqueNameFn = validateUniqueName;
  });
  it('should THROW an error if the given value already exists', () => {});
  it('should ACCEPT the data if the pass name is unique', () => {});
});

И эти два сценария, которые я хочу охватить.Можете ли вы помочь мне немного.Просто некоторые гиды будут хороши.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...