In both cases, you shouldn't be documenting and testing the internals if your functions, but the code contract, i.e. that it does what you have agreed with other developers that the function will do.
The question is not whether to test or whether to document, but what to test and what to document.
But that can be a valid complaint as well. There is an undeniable cost of maintaining tests, and it shouldn't just be taken for granted that the cost is worth it.