Утверждать, что Set содержит объект, когда ожидается, с частичной копией - Jest - PullRequest
0 голосов
/ 11 октября 2019

У меня есть набор, который содержит объект структуры:

{
    param1: string,
    param2: string,
    param3: string
}

Можно ли выполнить проверку Set.has для моего набора при попытке сопоставить частичные копии содержащихся данных? то есть. объект, содержащий:

{
    param2: string,
    param3: string
}

Там, где ожидаемый объект пропускает первый param1 параметр ...

Я попытался сделать следующее:

expect(mySet.has(expect.objectContaining(myData))).toBeTruthy();

IЯ бы подумал, что expect.objectContaining() решит мою проблему ...

Я также попытался "обогатить" ожидаемые данные, добавив:

myData.param1 = expect.any(String);

Но это также не сработало. ..

1 Ответ

0 голосов
/ 11 октября 2019

Вы можете преобразовать его в массив и утверждать, что каждый элемент массива будет содержать только объекты и описывать объекты

describe('mySet', () => {
  const items = Array.from(mySet);
  test.each(items)('that each item of your set has objects with the following stucture', item => {
    expect(item).toEqual(
      expect.objectContaining({
        param2: expect.any(String),
        param3: expect.any(String)
      })
    )
  });
});

рабочий пример

...