> if it's that the case, then for our unit test should be fine too. So why exactly it's not enough here?

We shouldn't write the tests with knowledge of the implementation first of all.  Also the tests should be more explicit than the internal code needs to be, because they serve different purposes, the tests need to make sure the expected behavior happens, the internal code just needs to work.