You should probably be using click from the userEvent library instead of fireEvent.
fireEvent dispatches DOM events, whereas user-event simulates full interactions, which may fire multiple events and do additional checks along the way.
https://testing-library.com/docs/user-event/intro#differences-from-fireevent