Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Seed Mailchimp account for Mailchimp plugin -> Mailchimp account integration tests #88

Open
1 task done
MaxwellGarceau opened this issue Dec 24, 2024 · 1 comment
Open
1 task done
Labels
type:enhancement New feature or request.

Comments

@MaxwellGarceau
Copy link
Collaborator

MaxwellGarceau commented Dec 24, 2024

Is your enhancement related to a problem? Please describe.

We are currently blocked from finishing E2E automated testing because of the inability to control environment conditions inside the test user's Mailchimp account. In particular, we are blocked on validation testing and form submission testing.

A detailed list of blockers on a test by test and expectation by expectation basis can be seen in ❗this checklist❗ that I duplicated from the original Testing instructions for critical flows Mailchimp.

Some of the functionality we lack inside the Mailchimp account is the ability to:

  • Delete contacts
  • Verify contacts
  • Adjust merge field visibility
  • Adjust merge field required params
  • Create and delete account (for account creation tests)

Designs

  • Update documentation to use credentials locally for the same test account that runs in CI/CD
  • Use the Mailchimp API to fetch and modify contacts and merge fields as necessary to set up tests
    • Alternatively, we could use Cypress to log into the test user's account, but I believe this is harder than it needs to be
  • Define the order the tests must be run in and clarify that the tests can not be run individually
    • OR ensure that the before/after methods in each testing file are sufficient to run each file individually

Describe alternatives you've considered

  • Document E2E tests that can't be automated and use QA to test those areas
  • Create a separate test suite for BE functionality that can verify successful integration between the Mailchimp WP plugin BE and the user's Mailchimp account
    • Cons: Not a true E2E test because a change to FE form submission could be made without also failing the BE tests causing a drift in integration between the FE and BE over time
  • Use Cypress to log into a Mailchimp user's account to set up testing conditions as needed
    • Con: Brittle and will break over time based on unpredictable external environmental conditions (cookie pop up, change in Mailchimp UI, etc).
    • Con: Mailchimp UI is not built for jQuery selectors
    • Con: 3rd party app security issues to circumvent

Code of Conduct

  • I agree to follow this project's Code of Conduct
@MaxwellGarceau MaxwellGarceau added the type:enhancement New feature or request. label Dec 24, 2024
@MaxwellGarceau
Copy link
Collaborator Author

@jeffpaul and @dkotter, I created a new enhancement issue to address some of the blockers I came across in #61. This issue would also partially address #34 for testing purposes.

Let me know what you think. I'm going to finish up the E2E tests that can be made with the current limitations and move onto other backlog items in order to give myself more space to think up better solutions for the testing blockers I've documented here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:enhancement New feature or request.
Projects
None yet
Development

No branches or pull requests

1 participant