Closed diabolo closed 9 years ago
The builds are currently failing and there is currently an initiative to clean them up, of which I'm a part.
I just recently got involved with this initiative because I'm using the master
branch in a project. It's working well in that project despite the fact that the builds are failing.
Any help in this regard would be welcomed and appreciated!
the main problem are integration tests that click all over the paypal interface to simulate a real order. paypal sandbox is not reliable, sometimes you get an interface, sometimes a different one (new??), sometimes a timeout. what about just stubbing a paypal result and remove those megaslow tests?
what we should test is to pass correct values to paypal, and to complete the order when a proper response is received. what happens in the middle is a paypal problem, imho.
The only problem I see with that is that, hypothetically, the PayPal API could change without notice. If an improper response was never received, then what would happen?
if PayPal API breaks... all stores breaks, even old ones. That should not happen, and i think it's not our job to test that.
Now some fun: here are screenshots from two consecutive runs, same test. Note the completely different interfaces (and both are stuck on some js waiting).
and
there's some work with ugly workarounds here: https://github.com/alepore/better_spree_paypal_express it's not complete but sincerely i'm tired to spend hours on matching elements on random paypal interfaces (i think i saw a third one...)
failing integration tests are skipped at the moment
All the active branch and default branch builds are failing.
Is this gem supported and fit for purpose? Would it be safer to use spree_paypal_express?
TIA
Andrew