Skip to content

Commit dda0d99

Browse files
committed
E2E: Update existing tests
1 parent 98d9985 commit dda0d99

File tree

2 files changed

+35
-73
lines changed

2 files changed

+35
-73
lines changed

includes/blocks/mailchimp/edit.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,7 @@ export const BlockEdit = (props) => {
322322
label={__('Select a list', 'mailchimp')}
323323
value={list_id}
324324
options={listOptions}
325+
className="mailchimp-list-select"
325326
onChange={(list_id) => {
326327
setIsLoading(true);
327328
setAttributes({ list_id });
@@ -340,6 +341,7 @@ export const BlockEdit = (props) => {
340341
<ToggleControl
341342
key={group.id}
342343
label={group.title}
344+
className="mailchimp-interest-groups"
343345
checked={interest_groups_visibility?.[group.id] === 'on'}
344346
onChange={(checked) => {
345347
setAttributes({
@@ -359,6 +361,7 @@ export const BlockEdit = (props) => {
359361
<ToggleControl
360362
label={__('Double Opt-In', 'mailchimp')}
361363
checked={double_opt_in}
364+
className="mailchimp-double-opt-in"
362365
onChange={() => setAttributes({ double_opt_in: !double_opt_in })}
363366
help={__(
364367
"Before new your subscribers are added via the plugin, they'll need to confirm their email address.",
@@ -369,6 +372,7 @@ export const BlockEdit = (props) => {
369372
<ToggleControl
370373
label={__('Update existing subscribers', 'mailchimp')}
371374
checked={update_existing_subscribers}
375+
className="mailchimp-update-existing-subscribers"
372376
onChange={() =>
373377
setAttributes({
374378
update_existing_subscribers: !update_existing_subscribers,
@@ -383,6 +387,7 @@ export const BlockEdit = (props) => {
383387
<ToggleControl
384388
label={__('Include Unsubscribe link', 'mailchimp')}
385389
checked={show_unsubscribe_link}
390+
className="mailchimp-unsubscribe-link"
386391
onChange={() =>
387392
setAttributes({ show_unsubscribe_link: !show_unsubscribe_link })
388393
}

tests/cypress/e2e/settings.test.js

Lines changed: 30 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -42,21 +42,18 @@ describe('Admin can update plugin settings', () => {
4242

4343
it('Admin can create a Signup form using Mailchimp block', () => {
4444
const postTitle = 'Mailchimp signup form - Block';
45-
const beforeSave = () => {
46-
cy.insertBlock('mailchimp/mailchimp', 'Mailchimp List Subscribe Form');
47-
cy.wait(500);
48-
};
49-
cy.createPost({ title: postTitle, content: '', beforeSave }).then((postBlock) => {
50-
if (postBlock) {
51-
blockPostPostURL = `/?p=${postBlock.id}`;
52-
cy.visit(blockPostPostURL);
53-
cy.get('#mc_signup').should('exist');
54-
cy.get('#mc_mv_EMAIL').should('exist');
55-
cy.get('#mc_signup_submit').should('exist');
56-
cy.get('#mc_signup_submit').click();
57-
cy.get('.mc_error_msg').should('exist');
58-
cy.get('.mc_error_msg').contains('Email Address: This value should not be blank.');
59-
}
45+
// Creating a post with Mailchimp block using wpCLI to test the backward compatibility of the existing block.
46+
cy.wpCli(
47+
`wp post create --post_title='${postTitle}' --post_content='<!-- wp:mailchimp/mailchimp -->' --post_status='publish' --porcelain`,
48+
).then((response) => {
49+
blockPostPostURL = `/?p=${response.stdout}`;
50+
cy.visit(blockPostPostURL);
51+
cy.get('#mc_signup').should('exist');
52+
cy.get('#mc_mv_EMAIL').should('exist');
53+
cy.get('#mc_signup_submit').should('exist');
54+
cy.get('#mc_signup_submit').click();
55+
cy.get('.mc_error_msg').should('exist');
56+
cy.get('.mc_error_msg').contains('Email Address: This value should not be blank.');
6057
});
6158
});
6259

@@ -82,95 +79,67 @@ describe('Admin can update plugin settings', () => {
8279
});
8380
});
8481

85-
it('Admin can remove mailchimp CSS', () => {
82+
it('Admin can set Merge Fields Included settings', () => {
8683
// Remove mailchimp CSS.
8784
cy.visit('/wp-admin/admin.php?page=mailchimp_sf_options');
88-
cy.get('#mc_nuke_all_styles').check();
89-
cy.get('input[value="Update Subscribe Form Settings"]').first().click();
90-
91-
// Verify
92-
[shortcodePostURL, blockPostPostURL].forEach((url) => {
93-
cy.visit(url);
94-
cy.get('#mc_subheader').should('not.have.css', 'margin-bottom', '18px');
95-
});
96-
97-
// Enable mailchimp CSS.
98-
cy.visit('/wp-admin/admin.php?page=mailchimp_sf_options');
99-
cy.get('#mc_nuke_all_styles').uncheck();
85+
cy.get('#mc_mv_FNAME').uncheck();
86+
cy.get('#mc_mv_LNAME').uncheck();
10087
cy.get('input[value="Update Subscribe Form Settings"]').first().click();
10188

10289
// Verify
10390
[shortcodePostURL, blockPostPostURL].forEach((url) => {
10491
cy.visit(url);
105-
cy.get('#mc_subheader').should('have.css', 'margin-bottom', '18px');
92+
cy.get('#mc_mv_FNAME').should('not.exist');
93+
cy.get('#mc_mv_LNAME').should('not.exist');
10694
});
107-
});
10895

109-
it('Admin can set custom styling on signup form', () => {
110-
// Enable custom styling and set values.
96+
// Reset
11197
cy.visit('/wp-admin/admin.php?page=mailchimp_sf_options');
112-
cy.get('#mc_custom_style').check();
113-
cy.get('#mc_form_border_width').clear().type('10');
114-
cy.get('#mc_form_border_color').clear().type('000000');
115-
cy.get('#mc_form_text_color').clear().type('FF0000');
116-
cy.get('#mc_form_background').clear().type('00FF00');
98+
cy.get('#mc_mv_FNAME').check();
99+
cy.get('#mc_mv_LNAME').check();
117100
cy.get('input[value="Update Subscribe Form Settings"]').first().click();
118101

119102
// Verify
120103
[shortcodePostURL, blockPostPostURL].forEach((url) => {
121104
cy.visit(url);
122-
cy.get('#mc_signup form').should('have.css', 'border-width', '10px');
123-
cy.get('#mc_signup form').should('have.css', 'border-color', 'rgb(0, 0, 0)');
124-
cy.get('#mc_signup form').should('have.css', 'color', 'rgb(255, 0, 0)');
125-
cy.get('#mc_signup form').should('have.css', 'background-color', 'rgb(0, 255, 0)');
105+
cy.get('#mc_mv_FNAME').should('exist');
106+
cy.get('#mc_mv_LNAME').should('exist');
126107
});
127-
128-
// Reset
129-
cy.visit('/wp-admin/admin.php?page=mailchimp_sf_options');
130-
cy.get('#mc_custom_style').uncheck();
131-
cy.get('input[value="Update Subscribe Form Settings"]').first().click();
132108
});
133109

134-
it('Admin can set Merge Fields Included settings', () => {
135-
// Remove mailchimp CSS.
110+
it('Admin can update groups settings', () => {
136111
cy.visit('/wp-admin/admin.php?page=mailchimp_sf_options');
137-
cy.get('#mc_mv_FNAME').uncheck();
138-
cy.get('#mc_mv_LNAME').uncheck();
112+
cy.get('input[id^="mc_show_interest_groups_"]').check();
139113
cy.get('input[value="Update Subscribe Form Settings"]').first().click();
140114

141115
// Verify
142116
[shortcodePostURL, blockPostPostURL].forEach((url) => {
143117
cy.visit(url);
144-
cy.get('#mc_mv_FNAME').should('not.exist');
145-
cy.get('#mc_mv_LNAME').should('not.exist');
118+
cy.get('.mc_interests_header').should('exist');
119+
cy.get('.mc_interest').should('exist');
146120
});
147121

148122
// Reset
149123
cy.visit('/wp-admin/admin.php?page=mailchimp_sf_options');
150-
cy.get('#mc_mv_FNAME').check();
151-
cy.get('#mc_mv_LNAME').check();
124+
cy.get('input[id^="mc_show_interest_groups_"]').uncheck();
152125
cy.get('input[value="Update Subscribe Form Settings"]').first().click();
153126

154-
// Verify
155127
[shortcodePostURL, blockPostPostURL].forEach((url) => {
156128
cy.visit(url);
157-
cy.get('#mc_mv_FNAME').should('exist');
158-
cy.get('#mc_mv_LNAME').should('exist');
129+
cy.get('.mc_interests_header').should('not.exist');
130+
cy.get('.mc_interest').should('not.exist');
159131
});
160132
});
161133

162134
it('Admin can set list options settings', () => {
163-
// Remove mailchimp CSS.
135+
// display unsubscribe link.
164136
cy.visit('/wp-admin/admin.php?page=mailchimp_sf_options');
165137
cy.get('#mc_use_unsub_link').check();
166138
cy.get('input[value="Update Subscribe Form Settings"]').first().click();
167139

168140
// Verify
169141
[shortcodePostURL, blockPostPostURL].forEach((url) => {
170142
cy.visit(url);
171-
cy.get('#mc_mv_BIRTHDAY').should('not.have.class', 'hasDatepicker');
172-
cy.get('#mc_mv_BIRTHDAY').click();
173-
cy.get('#ui-datepicker-div').should('not.exist');
174143
cy.get('#mc_unsub_link').should('exist');
175144
});
176145

@@ -181,19 +150,7 @@ describe('Admin can update plugin settings', () => {
181150

182151
[shortcodePostURL, blockPostPostURL].forEach((url) => {
183152
cy.visit(url);
184-
cy.get('#mc_mv_BIRTHDAY').should('have.class', 'hasDatepicker');
185-
cy.get('#mc_mv_BIRTHDAY').click();
186-
cy.get('#ui-datepicker-div').should('exist');
187153
cy.get('#mc_unsub_link').should('not.exist');
188154
});
189155
});
190-
191-
it('Admin can logout', () => {
192-
cy.visit('/wp-admin/admin.php?page=mailchimp_sf_options');
193-
cy.get('#mailchimp_sf_oauth_connect').should('not.exist');
194-
cy.get('input[value="Logout"]').click();
195-
196-
// connect to "Mailchimp" Account button should be visible.
197-
cy.get('#mailchimp_sf_oauth_connect').should('exist');
198-
});
199156
});

0 commit comments

Comments
 (0)