plaid / plaid-link-ios

Plaid Link iOS SDK
https://plaid.com/docs/link/ios
MIT License
133 stars 88 forks source link

Is there documentation about testing in production? #32

Closed chaseklingelzen closed 7 months ago

chaseklingelzen commented 7 months ago

Is there any way to test end to end in production without linking our own personal bank account? For example, we have a prod smoke testing account that we can use, but if we want to test the app to app flow between our app and say Chase bank to ensure redirects are working, linking is successful, etc., we have to link our own personal bank accounts.

Does Plaid provide any support for somehow smoke testing in production without using personal data?

phoenixy1 commented 7 months ago

So, yes and no. The defining feature of production is that it uses real data, so by definition you can't test with fake data in production.

However, for what you're specifically asking about (app to app testing in Sandbox) -- that was not working for a while, but just last week we released LinkKit 5.1.0, which now makes it possible to test app2app in Sandbox using First Platypus - OAuth app2app as the test institution. Since this release is so new the documentation hasn't quite caught up with it yet, but it should work -- feel free to open a new issue if you have any questions about it.

dtroupe-plaid commented 7 months ago

Hi @chaseklingelzen

Is there any way to test end to end in production without linking our own personal bank account?

If you're testing in production you must use real credentials. There is no way around this because it's the production environment.

Does Plaid provide any support for somehow smoke testing in production without using personal data?

No. It's good to occasionally test in production, but we recommend testing in sandbox to avoid this exact issue.

For example, we have a prod smoke testing account that we can use, but if we want to test the app to app flow between our app and say Chase bank to ensure redirects are working, linking is successful, etc.

An alternative to smoke testing in production, you could instead smoke test in the sandbox environment using dummy credentials user_good and pass_good additionally, you can test app2app using "First Platypus Bank". This will open an auth session in Safari - if the session is able to return to your app from Safari the universal link is working as expected.

chaseklingelzen commented 7 months ago

Hi @phoenixy1 and @dtroupe-plaid really appreciate the quick replies here. Great to know about First Platypus - OAuth app2app!

Totally understand the point about production being production and that requiring real data. The main issue we are running up against is that linking appears to be working in our sandbox environment, but is not working in production.

This is more than likely an issue on our end, but in order to debug the issue we are having to use our own personal bank accounts with Chase to link, which isn't ideal. Sounds like there isn't really another choice.

I'll go ahead and close this. Thank you again for the info.