Как в jest и react testing library замокать компонент так, что бы все было как в оригинале, но только один пропс переопределен?

Чтобы замокать компонент в Jest и React Testing Library таким образом, что все остается таким же, кроме одного переопределенного пропса, вы можете использовать метод render из React Testing Library с помощью параметра props. Вот пример, как это можно сделать.

Допустим, у вас есть компонент MyComponent, который принимает пропс name. Вы хотите замокать этот компонент и переопределить пропс name на новое значение "John Doe", при сохранении всех остальных пропсов.

import React from 'react';
import { render } from '@testing-library/react';

import MyComponent from './MyComponent';

describe('MyComponent', () => {
  it('should render with overridden prop', () => {
    const props = {
      name: 'John Doe',
    };

    const { getByText } = render(<MyComponent {...props} />);
    
    // Здесь вы можете продолжить с вашими проверками
  });
});

В этом примере мы создаем объект props, где переопределяем значение пропса name на "John Doe". Затем мы передаем этот объект в компонент MyComponent с помощью {...props}.

Теперь в вашем тесте компонент MyComponent будет замокан с новым значением пропса name, однако все остальные пропсы останутся такими же.