Я тестирую компонент, с помощью которого вы можете добавлять подкомпоненты, нажимая на значок «+».
Визуализированный HTML находится где-то в строках:
<div>
<div>
<div>
From <input type="text" />
</div>
<div>
To <input type="text" />
</div>
<div>+</div>
</div>
</div>
Итак, в начальном тесте я проверяю наличие текста:
// test setup
test('From and to occur only once', () => {
const { getByText } = setup();
expect(getByText('From')).toBeInTheDocument();
expect(getByText('To')).toBeInTheDocument();
});
Все это прекрасно работает. Но я хочу убедиться, что изначально контент показывается только один раз .
Так что мой следующий тест будет выглядеть примерно так:
// test setup
test('When add button is clicked there From and To exist two times', () => {
const { getByText } = setup();
const addButton = getByText("+")
// first row
expect(getByText('From')).toBeInTheDocument();
expect(getByText('To')).toBeInTheDocument();
fireEvent.click(addButton);
// second row
expect(getByText('From')).toBeInTheDocument();
expect(getByText('To')).toBeInTheDocument();
});
Как бы я сделать различие между первым и вторым разом, когда элементы встречаются?