how about a situation when I want to test a certain flow of the application, i.e.:
1) user creates an offer (fills out a form, sends it for approval, at this time some notifications are sent to many users involved in this offer etc)
2) next I want to test that a customer receives a notification about this offer, goes to accept it, offer receives "live" status
3) next user makes some changes to this offer, and finally sends it for a sign-off
4) customer accepts the sign-off request and marks this a complete
5) there are few more steps to be tested in our flow...
it makes perfect sense to execute the tests in this particular order as this is how the "offer's life" looks like.
what is wrong with the approach where one test depends on another one? we want all the tests pass anyway so it isn't our concern that all subsequent tests fail if the first one (or any one actually) fails.
and what would be better way to test it? create 5 or more different data sets and load those different database dumps to test each step independently? seems like a lot of unnecessary work and too many sql files to manage.
really interested in your point of view here and thanks in advance for your input!