spree-contrib / better_spree_paypal_express

A better Spree PayPal Express Extension.
http://guides.spreecommerce.org
BSD 3-Clause "New" or "Revised" License
110 stars 269 forks source link

CI Builds Failing #165

Closed diabolo closed 9 years ago

diabolo commented 9 years ago

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

jspizziri commented 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!

alepore commented 9 years ago

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?

alepore commented 9 years ago

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.

jspizziri commented 9 years ago

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?

alepore commented 9 years ago

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).

screen shot 2015-04-29 at 09 12 51

and

screen shot 2015-04-29 at 09 12 33

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...)

alepore commented 9 years ago

failing integration tests are skipped at the moment