You’re correct that you must predict the output using TDD, and that’s a very important part of the process.
That’s how we know the code is producing the expected results, correctly.
If there’s a problem with the formatting, or the data structure, and you’re just glancing at it, that introduces a huge potential for errors.
The big question your snapshot tests are missing is “what were the expected results?”
The failure report will tell you, but if you don’t predict those expected results, you’re not really testing the code — you’re just eyeballing some output and going, “oh that looks fine.” Your tests are also weaker API documentation because you can’t see expected output without failing tests.
Sure you can write the tests a little faster that way, but your tests are weak.
Snapshot testing is not TDD.