-
Notifications
You must be signed in to change notification settings - Fork 0
Testing instructions for critical flows Mailchimp
The plugin should be installed and activated without any error or trouble.
Test Steps
- Download the Plugin zip from Github
- Install the plugin zip in the Plugin Uploader screen of the store
Expected Result The plugin should be installed without any error
Pre-requisites
Create an account in Mailchimp
Test Steps
- Go to the Mailchimp extension menu.
- Click on the Login button.
- A new popup window will open.
- Enter your valid Mailchimp credentials.
- Authorize the Mailchimp List Subscribe Form.
- The popup will close automatically and redirect back to the site.
- On the right-hand side, verify that the logged-in email ID and a Logout button are displayed.
Expected Result:
- The WordPress site should establish a successful connection with Mailchimp upon entering the correct credentials.
- A Logout button should also be visible next to the logged-in email.
- The Mailchimp form lists should appear in the dropdown menu for selection.
Video
login_flow.mov
Test Steps
- Navigate to the website and click "Create an Account."
- Enter profile and business details, then click "Activate Account."
- Check the email inbox and confirm the account by clicking "Confirm Mail."
- Set a password and return to the login page.
- Log in with your email and password.
- Select a Mailchimp plan after logging in.
- Return to the website and verify automatic login.
- Check the subscription list dropdown and select a list from the available options.
Expected Results
- The account creation form should be displayed with all fields visible and functional.
- A confirmation email should be sent immediately after clicking "Activate Account."
- The email confirmation should successfully activate the account.
- Password setup should be successful, and the user should be redirected to the login page.
- The user should be able to log in with the email and password without errors.
- The user should be prompted to select a Mailchimp plan and proceed without issues.
- After logging in, the subscription list dropdown should display all available Mailchimp lists.
- The user should be able to select a list from the dropdown without issues.
Video_Registraion flow
Registraion_flow.mov
Test steps:
- Goto Wp-admin dashboard
- Settings > Mailchimp setup
- Navigate to Your Lists
- Select and Update Mailchimp List:
- Choose the Mailchimp list that you want to connect to your form from the available options.
Expected Result:
- Verify that the dropdown or selection menu displays all available Mailchimp lists associated with your Mailchimp account.
- Verify that all settings remain hidden until a list is selected and saved from the dropdown.
- Verify on the front end that no form is visible until a list is selected and saved from the dropdown in the settings.
- Select any list from the dropdown and save the settings.
- Verify that the form on the front end appears and functions without any issues.
Screenshot
login.no.list.selected.mov
Test Steps:
- Navigate to WordPress Admin Dashboard.
- Click on Posts or Pages from the left-hand menu.
- Click on Add New to create a new post or page.
- Click on the + icon to add a new block.
- In the Shortcode block, enter the following shortcode:
[mailchimpsf_form]
. - Publish post/page
- View Published Post/Page
Expected Result:
- The signup form rendered by the [mailchimpsf_form] shortcode should display correctly on the published post or page.
- The form fields (such as email, name, etc.) should be visibly laid out as configured in the Mailchimp settings.
- Submitting valid data into the form (such as a valid email address) should successfully add the subscriber to the configured Mailchimp audience or list.
- Error handling: If invalid data is entered or submission fails, appropriate error messages should be displayed as configured in the plugin.
Screenshot
Pre-requisites
- Install and activate Twenty Twenty-One theme
Test Steps:
- Navigate to WordPress Admin Dashboard.
- Navigate to the Appearance menu > Widgets
- Click on + button
- Seach "Mailchimp" widget
- Add Mailchimp widget
Expected Result:
- The Mailchimp widget should be successfully added to the chosen widget area.
- The signup form should display correctly on the website frontend.
- Users should be able to subscribe to the mailing list by entering their details and clicking on the subscribe button.
Screenshot
Test steps:
- Navigate to WordPress Admin Dashboard.
- Navigate to Settings> Mailchimp setup
- Navigate to Content options
- Enter text in "Header", "Sub-Header", "Submit button" like
- Header: "Subscribe to our Newsletter"
- Sub-Header: "Stay updated with our latest news and offers!"
- Submit button: "Subscribe Now"
- Click on "Update subscription form setting"
Expected Result:
- The text entered in the "Header", "Sub-Header", and "Submit Button" fields should be saved successfully without any error messages.
- When viewing the Mailchimp subscription form on the frontend of the WordPress site (e.g., using a shortcode or widget), the updated text should be displayed as configured.
Screenshot
Test steps:
- Navigate to WordPress Admin Dashboard.
- Navigate to Settings> Mailchimp setup
- Navigate to Remove Mailchimp CSS
- Checkmark the option to remove Mailchimp CSS styles from the subscription form.
- Click on update subscribe form settings
Expected Result:
- Upon checking the "Remove Mailchimp CSS" option and updating the settings, all Mailchimp-provided CSS styles should be disabled or removed from the subscription form.
- Verify that the subscription form now uses default styles provided by your WordPress theme or any custom styles applied separately.
Screenshot
Test steps:
- Navigate to WordPress Admin Dashboard.
- Navigate to Settings> Mailchimp setup
- Navigate to Custom styling
- Checkmark the option to enable the custom styling
- Save the setting
Expected Result:
- Able to customize various aspects of the Mailchimp subscription form, such as border styles (width, color), background colors, and text color.
- Verify that changes made to these styling options are applied consistently across all the Mailchimp subscription forms.
- Custom styling should not interfere with the functionality of the subscription form.
- If there are any predefined default styles from Mailchimp, they should be overridden by the custom styles set through this setting.
Video
Custom_styling.mov
Test steps:
- Navigate to WordPress Admin Dashboard.
- Navigate to Settings> Mailchimp setup
- Navigate to List Options > Use JavaScript Support?
- Checkmark the option to enable/disable
- Click on "Update subscribe form setting"
Expected Result:
- Ensure that JavaScript degrades for users who do not have JavaScript enabled, allowing them to still submit the form using standard HTML form submission methods.
- Verify that form submission and validation behaviors are consistent across different browsers and devices.
Regardless of whether JavaScript support is enabled or disabled, ensure that:
- The subscription form continues to collect and process user input correctly.
- Error handling mechanisms are in place to notify users of any submission issues.
Test steps:
- Navigate to WordPress Admin Dashboard.
- Navigate to Settings> Mailchimp setup
- Navigate to List Options > Use JavaScript Datepicker?
- Checkmark the option to enable or disable
- Click on "Update subscribe form setting"
Expected Result:
-
If Enabled Datepicker The plugin should utilize a JavaScript-based Datepicker UI component for date input fields within the subscription form.
-
If Disable Datepicker
- JavaScript Datepicker functionality should be turned off.
- Date input fields within the subscription form should revert to standard HTML date input controls.
- The form should accept and process birthdate inputs where the month and day fall within the valid ranges (01-12 for month, 01-31 for day).
Video
Date_picker.mov
Test steps:
- Navigate to WordPress Admin Dashboard.
- Navigate to Settings> Mailchimp setup
- Navigate to List Options > Use Double Opt-In (Recommended)?
- Checkmark the option to enable or disable
- Click on "Update subscribe form setting"
Expected Result:
If Enabled (Double Opt-In is Recommended):
- New subscribers added through the Mailchimp integration plugin will receive an email requesting them to confirm their email address before they are officially added to the subscriber list.
- Verify that the confirmation email is sent promptly after a user subscribes.
- Upon clicking the confirmation link in the email, the subscriber's email address should be confirmed and added to the Mailchimp audience or list.
If Disabled:
- Subscribers added via the plugin will be directly added to the Mailchimp audience or list without requiring confirmation of their email address.
Test steps:
- Navigate to WordPress Admin Dashboard.
- Navigate to Settings> Mailchimp setup
- Navigate to List Options > Update existing subscribers?
- Checkmark the option to enable or disable
- Click on "Update subscribe form setting"
Expected Result: If Enabled:
- Existing subscriber records in the Mailchimp audience or list should be updated with the new information.
- Verify that existing subscriber data is updated accurately without creating duplicate records.
If Disabled:
- New data submitted via the plugin should not update existing subscriber records in the Mailchimp audience or list.
Test steps:
- Navigate to WordPress Admin Dashboard.
- Navigate to Settings> Mailchimp setup
- Navigate to List Options > Include Unsubscribe link?
- Checkmark the option to enable or disable
- Click on "Update subscribe form setting"
- Goto front side and click on "unsubscribe from list"
- After clicking the unsubscribe link, you should be redirected to a confirmation page or a Mailchimp-hosted page where you can confirm your email address to unsubscribe request.
- On the unsubscribe confirmation page, enter the email address you wish to unsubscribe from the list.
- Click on the "Unsubscribe" button or similar action to confirm your decision to unsubscribe.
Expected Result:
If Enabled:
- Emails sent through Mailchimp should include an unsubscribe link that allows recipients to easily opt-out from future communications.
- After entering the email address and clicking "Unsubscribe," Mailchimp should process the request and confirm the successful unsubscribe action.
- Upon searching for the email address in the Mailchimp audience or list, the status should reflect as "Unsubscribed".
If Disabled:
- The "unsubscribe from list" link should disappear.
Video
Unsubscribe.mov
- Navigate to WordPress Admin Dashboard.
- Navigate to Settings> Mailchimp setup
- Navigate to Merge Fields Included
- Review the available merge fields such as address, birthdate, firstname, lastname, phone number, and company.
- For each merge field, locate the "Include?" checkbox or toggle that allows enabling or disabling the visibility of these fields in the subscription form on the frontend.
- Checkmark or toggle the "Include?" option for each merge field as needed to enable them for display in the subscription form.
Expected Result:
-
Each merge field (address, birthdate, firstname, lastname, phone number, company) should have an "Include?" option that allows enabling or disabling its visibility in the subscription form.
-
Confirm that only the merge fields marked as "Included" are visible and accessible for users to fill out during the subscription process.
Video
Merge.Fields.Included.mov
Test Steps:
- Log in with the first Mailchimp account.
- Navigate to the Mailchimp settings page.
- Save the settings (including selecting a list).
- Log out of the account.
- Log in again with the same account.
- Verify that the previously saved settings and the selected list are still displayed as they were.
- Log out again.
- Log in with a different Mailchimp account.
- Check that the list is not selected in the Mailchimp settings.
- Verify that the signup form on the front end does not render until the list is selected and saved in the settings for this account.
Expected Result:
- Settings and list selection remain persistent between logging out and logging back in with the same account.
- The signup form is not displayed on the front end unless a list is selected and saved in the settings.
Test steps:
- Navigate to Posts → Add New.
- Ensure the Classic Editor is enabled.
- Insert the following Mailchimp shortcode inside the post content:
- [mailchimpsf_form]
- Save the post as a Draft or Publish it.
- Navigate to Plugin > turn Classic Editor off (Switch to Block Editor).
- Open the previously created post in the Block Editor.
- Click the "Convert to blocks" button that appears in the post editor.
- Observe the converted content.
Expected Result:
The shortcode should be transformed into a Mailchimp Gutenberg block instead of remaining as raw shortcode text.
Screenshot
Test Steps:
- Log in to the WordPress admin panel.
- Navigate to Mailchimp WP Plugin Settings.
- Ensure that Double Opt-In is disabled in the settings.
- Save the settings.
- Open the frontend (FE) of the website where the Mailchimp form is embedded.
- Fill in the form with a test email address you control (e.g., max.garceau+newsubmission@10up.com).
- Submit the form.
- Check your email inbox to verify whether a confirmation email is received.
- Log in to your Mailchimp account and check the contact list.
- Verify that the submitted email address is added without requiring confirmation.
Expected Result:
- No confirmation email should be sent to the submitted email address.
- The contact should be immediately added to the Mailchimp audience/list without requiring any action from the user.
Video
401381771-c5f8d2d5-2cb9-448b-88f1-05867df832ec.mp4
Test Steps:
- Log in to the WordPress admin panel.
- Navigate to Mailchimp WP Plugin Settings.
- Enable Double Opt-In.
- Enable "Update Existing Subscribers?".
- Save the settings if any changes were made.
- Open the frontend (FE) of the website where the Mailchimp form is embedded.
- Sign up using a new email address (e.g., testuser+pending@10up.com).
- Do not confirm the email when the confirmation email is received.
- Log in to your Mailchimp account and verify that the contact is in a pending state and not fully added to the audience.
- Go back to the form and sign up again with the same email address, but modify some other details (e.g., name, phone number).
- Check your email inbox and verify that you do not receive another confirmation email.
- Confirm the original confirmation email received in Step 8.
- Log in to Mailchimp and verify that the contact has been created and includes the updated information entered in Step 10.
Expected Result:
- A pending subscriber should not be duplicated when updating information.
- The user should not receive another confirmation email after updating their details.
- Once the original confirmation email is confirmed, the contact should be created in Mailchimp with the updated details.
Video
401386642-0a49070a-afe1-482b-ac71-ba2e95fb9bac.mp4
Test Steps:
- Log in to the WordPress admin panel.
- Navigate to Mailchimp WP Plugin Settings.
- Disable "Update Existing Subscriber?".
- Save the settings if any changes were made.
- Open the frontend (FE) where the Mailchimp subscription form is embedded.
- Sign up using a new email address (e.g., testuser@10up.com).
- Verify that the new subscriber is successfully added to the Mailchimp audience.
- Attempt to sign up again using the same email address.
- Check if the system displays an error message:
- Expected error: "This email address has already been subscribed to this list."
Expected Result:
- The first signup attempt should be successful.
- The second signup attempt with the same email should fail, and an error message should be displayed.
- The subscriber's details in Mailchimp should remain unchanged.
Video
401387577-8bbf31f2-a6cb-429c-b918-2cf99a49aea7.mp4
Ensure Any Existing Subscriber (Subscribed, Unsubscribed, Pending) Cannot Sign Up When "Update Existing Subscriber?" is Disabled.
Test Steps:
- Turn "Update Existing Subscriber?" off in the Mailchimp WP settings
- subscribed - Sign up with an already subscribed email on the FE submission form. You should see "This email address has already been subscribed to this list."
- unsubscribed - Sign up with an email that has been unsubscribed from this list. You should see "This email address has already been subscribed to this list."
- Enable Double Opt-In
- Sign up with a new email
- DO NOT CONFIRM THE EMAIL
- pending - Try signing up again with the email. You should see "This email address has already been subscribed to this list."
Expected Result:
- Subscribed users cannot sign up again and receive an error.
- Unsubscribed users cannot sign up again and receive an error.
- Pending users cannot sign up again and receive an error.
Video
401389231-b03403ed-8c40-4bf7-83b9-cd32abbdc83d.mp4
Test steps:
- Uncheck the "Visible?" column in a sampling of merge fields in the test user Mailchimp account
- On the Mailchimp WP settings page click "Update List" to refresh the data from Mailchimp
- In the "Merge Fields Included" section, you should only see checkboxes for the merge fields that have the "Visible?" column checked in the Mailchimp account
- (optional) Navigate to the front end to ensure that the non visible merge fields do not display.
Expected Result:
- The "Merge Fields Included" section in the Mailchimp WP settings should only display checkboxes for merge fields that have the "Visible?" column checked in Mailchimp.
- Any merge fields with the "Visible?" column unchecked in Mailchimp should not appear in the list of available merge fields in the WP settings.
- (Optional) On the frontend signup form, non-visible merge fields should not be displayed for users filling out the form.
Video
404526815-cf41d2f4-c44e-435a-865b-f522f44dfe74.mov
Test Steps:
- Log into the test user Mailchimp account.
- Set a sampling of merge fields to "Required" in Mailchimp.
- Log into the WordPress site and navigate to the Mailchimp settings page.
- Click "Update List" to refresh the Mailchimp data.
- Scroll down to the Merge Field Tags section.
- Verify whether the "Required" labels correctly reflect the settings from the Mailchimp account.
Expected Result:
- Fields that were marked as "Required" in Mailchimp should be labeled as "Required" in the Merge Field Tags section of WP Mailchimp settings.
- Fields that were not required in Mailchimp should not display a "Required" label.
- If any required fields do not show as required, it should be reported as a bug.
Video
407306935-9b3afb45-7f62-48a5-9dab-aff35143cedf.mov
Test steps:
Phone Number Validation
- Log into the test Mailchimp account.
- Navigate to Lists → Settings → Merge Tags.
- Set the Phone Number format to US Style.
Update Mailchimp Data in WP
- Log into WordPress and go to Mailchimp settings.
- Click "Update List" to refresh the Mailchimp data.
- Ensure that Phone Number is NOT included in the Merge Fields list.
Submit the Form Without Phone Number
- Go to the frontend signup form.
- Fill out the form using only the email field (other merge fields are optional).
- Click Submit.
Expected Result
The form should submit successfully without a fatal error.
Address Validation
With Address Enabled in Mailchimp
- Log into Mailchimp and ensure Address is an included merge field.
- Fill out the frontend signup form, including the address field.
- Click Submit.
Expected Result
The form should submit successfully.
Without Address in Mailchimp
- Log into Mailchimp and remove the Address field from merge fields.
- Go to the frontend signup form and fill it out without an address field.
- Click Submit.
Expected Result
The form should submit successfully, without errors.
Video
403889551-51340133-f8e7-4ffa-807c-1288309ca275.mov
Test Steps
Set Up Phone Number Format in Mailchimp
- Log into the test Mailchimp account.
- Navigate to Lists → Settings → Merge Tags.
- Change the Phone Number format to US format.
Update Mailchimp Data in WP
-
Log into WordPress and go to Mailchimp settings.
-
Click "Update List" to refresh the Mailchimp data.
-
Ensure that the Phone Number merge field is included.
-
Navigate to the Frontend (FE) Form
-
Open the Mailchimp subscription form on the frontend.
-
Attempt to submit the form with various invalid phone number inputs.
Test Input | Expected Result | Error Message |
---|---|---|
abc1234567 | ❌ Fail | "Phone number must contain only numbers." |
123-456-789A | ❌ Fail | "Phone number must contain only numbers." |
123@456#7890 | ❌ Fail | "Phone number must contain only numbers." |
123 456 7890 (extra spaces) | ❌ Fail | "Phone number must not contain spaces." |
1 3 - 12 - 234 | ❌ Fail | "Phone number does not have enough digits." |
--1234567890 | ❌ Fail | "Phone number format is incorrect." |
123(456)7890)) | ❌ Fail | "Phone number format is incorrect." |
+1 123-456-7890 | ✅ Pass | No error, valid phone format. |
1234567890 | ✅ Pass | No error, valid phone format. |
Expected Result:
- The phone number field should only accept numbers (0–9).
- Any letters, special characters, excessive spaces, or incorrect formatting should trigger a clear and specific error message.
- Valid US phone numbers should be accepted without errors.