Как получить значения из функции, которая является селектором? - PullRequest
0 голосов
/ 28 апреля 2020

Я использую селектор, который извлекает массив автомобилей, но когда я пытался проверить, я получаю:

TypeError: agency.getCars не является функцией

describe('selectCars', () => {
    it('should return car array', () => {
    const stub = jasmine.createSpyObj<AgencyShop>({
      findAgency: {
         brand: 'BRAND_ID',
         name: 'NAME'
         getCars: () => ['Rio', 'Soul', 'Sportage']
      } as Agency
  });
  const result = selectCars.projector(stub, {
      brand: 'BRAND_ID'
  });

   expect(result).toEqual(['Rio', 'Soul', 'Sportage']);
  });

Как правильно издеваться над этой функцией.

1 Ответ

0 голосов
/ 28 апреля 2020

Мне нужно использовать шпионский объект, не нужно всего состояния, нам нужен только тип селектора 'Агентство' и результат функции, проектор обрабатывает заглушку.

describe('selectCars', () => {
  it('should return car array', () => {
     const stub = jasmine.createSpyObj<Agency>({
       getCars: ['Rio', 'Soul', 'Sportage'] as string[]
    });

    const result = selectCars.projector(stub, {
       brand: 'BRAND_ID'
    });

     expect(result).toEqual(['Rio', 'Soul', 'Sportage']);
  });
});
...