Maybe. I think it get’s really blurry. Sticking with the users table example…
genUsers behaves different with different constraints. You kinda want to unit test genUsers. You could call it directly. Or you could call it via SQL. The latter pulls in more things, might be slower, but the underling tests are very unit oriented.
I start thinking about them as closer to integration tests of we start reasoning about joins.
I guess I agree with you in theory, but this also feels pretty pragmatic about making writing tests easier