TDD is great when you have a very narrow use case, for example an algorithm. Where you already know beforehand: If I throw A in B should come out. If I throw B in C should come out. If I throw Z in an error should be thrown. And so on.
For that it’s awesome, which is mostly algorithms.
In real CRUD apps though? You have to write the actual implementation before the tests. Because in the tests you have to mock all the dependencies you used. Come up with fake test data. Mock functions from other classes you aren’t currently testing and so on. You could try TDD for this, but then you probably spend ten times longer writing and re-writing tests :-/
After a while it boils down to: Small unit tests where they make sense. Then system wide integration tests for complex use-cases.
Are you sure you properly deleted them? Reddit rate limits you to about one edit/delete every 3 seconds. If you go faster than that the deletes fail.
All the comments I have overwritten stayed that way, it was just difficult to reach them all (as different comments show up under “Top”, “Controversial”, “New” and so on).