I like the idea of focusing on business scenarios. However, as a developper I also want error cases to have automated non-regression tests.
For example, in a e-commerce feature, there would be a scenario
James uses his credit card to pay
James should see that the purchase was successful
But what about scenarios where his credit card is invalid or his bank rejected the transaction. These scenarios are strongly linked to implementation details.
I don't see how I can handle automated testing of these scenarios within the Serenity philosophy. If I write scenarios, i will have to mention current implementation details. When reading literature around Serenity I feel like it's only meant to test the happy path because this is what business people care about. However in the real world error cases and more complex flows are important parts of the applications, and benefit from automated tests.
Could you please help me understand how I should approach testing those scenarios? Thanks!