Skip to content

Commit f6a9f6c

Browse files
committed
E2E: Update ID based locators to fix the tests.
1 parent 4864bdb commit f6a9f6c

File tree

4 files changed

+45
-38
lines changed

4 files changed

+45
-38
lines changed

assets/css/admin.css

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1333,7 +1333,8 @@ table.widefat.mailchimp-sf-settings-table ul {
13331333
outline: 2px solid var(--mailchimp-color-link);
13341334
}
13351335

1336-
#mailchimp-sf-settings-page input[type="text"] {
1336+
#mailchimp-sf-settings-page input[type="text"],
1337+
#mailchimp-sf-settings-page input[type="tel"] {
13371338
font-size: 16px;
13381339
padding: 10px 12px;
13391340
height: 40px;
@@ -1347,13 +1348,15 @@ table.widefat.mailchimp-sf-settings-table ul {
13471348
transition: all 0.2s;
13481349
}
13491350

1350-
#mailchimp-sf-settings-page input[type="text"]:hover {
1351+
#mailchimp-sf-settings-page input[type="text"]:hover,
1352+
#mailchimp-sf-settings-page input[type="tel"]:hover {
13511353
background-color: #f8fafb;
13521354
border-color: #3c4348;
13531355
outline: none;
13541356
}
13551357

1356-
#mailchimp-sf-settings-page input[type="text"]:focus {
1358+
#mailchimp-sf-settings-page input[type="text"]:focus,
1359+
#mailchimp-sf-settings-page input[type="tel"]:focus {
13571360
outline-offset: -2px;
13581361
outline: 2px solid var(--mailchimp-color-link);
13591362
}

tests/cypress/e2e/form-templates.test.js

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ describe('Form Templates Tests', () => {
88
// Hide all interest groups
99
cy.visit('/wp-admin/admin.php?page=mailchimp_sf_options');
1010
cy.get('input[id^="mc_show_interest_groups_"]').uncheck();
11-
cy.get('input[value="Update Subscribe Form Settings"]').first().click();
11+
cy.get('input[id^="mc_show_interest_groups_"]').trigger('change');
12+
cy.get('input[value="Save Changes"]:visible').first().click();
1213
});
1314

1415
it('Admin should see the form templates in the block', () => {
@@ -67,11 +68,11 @@ describe('Form Templates Tests', () => {
6768
(postBlock) => {
6869
if (postBlock) {
6970
cy.visit(`/?p=${postBlock.id}`);
70-
cy.get('#mc_mv_EMAIL').should('exist');
71-
cy.get('#mc_signup_submit').should('exist');
72-
cy.get('#mc_mv_FNAME').should('not.exist');
73-
cy.get('#mc_mv_LNAME').should('not.exist');
74-
cy.get('#mc_mv_PHONE').should('not.exist');
71+
cy.get('input[id^="mc_mv_EMAIL"]').should('exist');
72+
cy.get('.mc_signup_submit_button').should('exist');
73+
cy.get('input[id^="mc_mv_FNAME"]').should('not.exist');
74+
cy.get('input[id^="mc_mv_LNAME"]').should('not.exist');
75+
cy.get('input[id^="mc_mv_PHONE"]').should('not.exist');
7576
}
7677
},
7778
);
@@ -83,10 +84,10 @@ describe('Form Templates Tests', () => {
8384
(postBlock2) => {
8485
if (postBlock2) {
8586
cy.visit(`/?p=${postBlock2.id}`);
86-
cy.get('#mc_mv_EMAIL').should('exist');
87-
cy.get('#mc_signup_submit').should('exist');
88-
cy.get('#mc_mv_FNAME').should('exist');
89-
cy.get('#mc_mv_LNAME').should('exist');
87+
cy.get('input[id^="mc_mv_EMAIL"]').should('exist');
88+
cy.get('.mc_signup_submit_button').should('exist');
89+
cy.get('input[id^="mc_mv_FNAME"]').should('exist');
90+
cy.get('input[id^="mc_mv_LNAME"]').should('exist');
9091
cy.get('input[id^="mc_mv_PHONE"]').should('not.exist');
9192
}
9293
},
@@ -99,14 +100,14 @@ describe('Form Templates Tests', () => {
99100
(postBlock3) => {
100101
if (postBlock3) {
101102
cy.visit(`/?p=${postBlock3.id}`);
102-
cy.get('#mc_mv_EMAIL').should('exist');
103-
cy.get('#mc_signup_submit').should('exist');
104-
cy.get('#mc_mv_FNAME').should('exist');
105-
cy.get('#mc_mv_LNAME').should('exist');
103+
cy.get('input[id^="mc_mv_EMAIL"]').should('exist');
104+
cy.get('.mc_signup_submit_button').should('exist');
105+
cy.get('input[id^="mc_mv_FNAME"]').should('exist');
106+
cy.get('input[id^="mc_mv_LNAME"]').should('exist');
106107
cy.get('input[id^="mc_mv_PHONE"]').should('exist');
107-
cy.get('#mc_mv_ADDRESS-addr1').should('exist');
108-
cy.get('#mc_mv_ADDRESS-addr2').should('exist');
109-
cy.get('#mc_mv_ADDRESS-city').should('exist');
108+
cy.get('input[name="mc_mv_ADDRESS[addr1]"]').should('exist');
109+
cy.get('input[name="mc_mv_ADDRESS[addr2]"]').should('exist');
110+
cy.get('input[name="mc_mv_ADDRESS[city]"]').should('exist');
110111
}
111112
},
112113
);
@@ -118,14 +119,14 @@ describe('Form Templates Tests', () => {
118119
(postBlock4) => {
119120
if (postBlock4) {
120121
cy.visit(`/?p=${postBlock4.id}`);
121-
cy.get('#mc_mv_EMAIL').should('exist');
122-
cy.get('#mc_signup_submit').should('exist');
123-
cy.get('#mc_mv_FNAME').should('exist');
124-
cy.get('#mc_mv_LNAME').should('exist');
122+
cy.get('input[id^="mc_mv_EMAIL"]').should('exist');
123+
cy.get('.mc_signup_submit_button').should('exist');
124+
cy.get('input[id^="mc_mv_FNAME"]').should('exist');
125+
cy.get('input[id^="mc_mv_LNAME"]').should('exist');
125126
cy.get('input[id^="mc_mv_PHONE"]').should('exist');
126-
cy.get('#mc_mv_COMPANY').should('exist');
127-
cy.get('#mc_mv_ADDRESS-addr1').should('exist');
128-
cy.get('#mc_mv_ADDRESS-addr2').should('exist');
127+
cy.get('input[id^="mc_mv_COMPANY"]').should('exist');
128+
cy.get('input[name="mc_mv_ADDRESS[addr1]"]').should('exist');
129+
cy.get('input[name="mc_mv_ADDRESS[addr2]"]').should('exist');
129130
}
130131
},
131132
);

tests/cypress/e2e/settings/settings.test.js

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,8 @@ describe('Admin can update plugin settings', () => {
185185

186186
// TODO: Add case for separate account login and settings get reset.
187187
it('Ensure settings persist between logging out and logging back in of Mailchimp account', () => {
188+
cy.mailchimpLoginIfNotAlreadyLoggedIn();
189+
188190
// Step 1: Visit Mailchimp settings page
189191
cy.visit('/wp-admin/admin.php?page=mailchimp_sf_options');
190192
cy.get('#mailchimp_sf_oauth_connect').should('not.exist');
@@ -215,6 +217,7 @@ describe('Admin can update plugin settings', () => {
215217
});
216218

217219
it('Spam protection should work as expected', () => {
220+
cy.mailchimpLoginIfNotAlreadyLoggedIn();
218221
// Show error message to spam bots.
219222
[shortcodePostURL, blockPostPostURL].forEach((url) => {
220223
cy.visit(url);
@@ -312,37 +315,37 @@ describe('Admin can update plugin settings', () => {
312315

313316
cy.get('#mc_subheader_content').clear().type('My Custom Subheader');
314317
cy.wait(1000);
315-
cy.get('.mailchimp-sf-form-preview #mc_subheader').contains('My Custom Subheader');
318+
cy.get('.mailchimp-sf-form-preview .mc_subheader').contains('My Custom Subheader');
316319

317320
cy.get('#mc_submit_text').clear().type('My Custom Button');
318321
cy.wait(1000);
319-
cy.get('.mailchimp-sf-form-preview #mc_signup_submit').contains('My Custom Button');
322+
cy.get('.mailchimp-sf-form-preview .mc_signup_submit_button').contains('My Custom Button');
320323

321324
// Field options
322325
cy.get('#mc_mv_FNAME').uncheck();
323326
cy.wait(1000);
324-
cy.get('.mailchimp-sf-form-preview input#mc_mv_FNAME').should('not.exist');
327+
cy.get('.mailchimp-sf-form-preview input[id^="mc_mv_FNAME"]').should('not.exist');
325328

326329
cy.get('#mc_mv_LNAME').uncheck();
327330
cy.wait(1000);
328-
cy.get('.mailchimp-sf-form-preview input#mc_mv_LNAME').should('not.exist');
331+
cy.get('.mailchimp-sf-form-preview input[id^="mc_mv_LNAME"]').should('not.exist');
329332

330333
cy.get('#mc_mv_FNAME').check();
331334
cy.wait(1000);
332-
cy.get('.mailchimp-sf-form-preview input#mc_mv_FNAME').should('exist');
335+
cy.get('.mailchimp-sf-form-preview input[id^="mc_mv_FNAME"]').should('exist');
333336

334337
cy.get('#mc_mv_LNAME').check();
335338
cy.wait(1000);
336-
cy.get('.mailchimp-sf-form-preview input#mc_mv_LNAME').should('exist');
339+
cy.get('.mailchimp-sf-form-preview input[id^="mc_mv_LNAME"]').should('exist');
337340

338341
// Unsubscribe link
339342
cy.get('#mc_use_unsub_link').check();
340343
cy.wait(1000);
341-
cy.get('.mailchimp-sf-form-preview #mc_unsub_link').should('exist');
344+
cy.get('.mailchimp-sf-form-preview .mc_unsub_link').should('exist');
342345

343346
cy.get('#mc_use_unsub_link').uncheck();
344347
cy.wait(1000);
345-
cy.get('.mailchimp-sf-form-preview #mc_unsub_link').should('not.exist');
348+
cy.get('.mailchimp-sf-form-preview .mc_unsub_link').should('not.exist');
346349

347350
// Groups
348351
cy.get('input[id^="mc_show_interest_groups_"]').check();

tests/cypress/e2e/validation/us-phone.test.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ describe('Phone Number Validation', () => {
2323
required: true,
2424
options: { phone_format: 'US' },
2525
}).then(() => {
26-
cy.selectList('10up');
26+
cy.selectList('10up', true);
2727
});
2828
});
2929
});
@@ -34,13 +34,13 @@ describe('Phone Number Validation', () => {
3434
required: false,
3535
options: { phone_format: 'none' },
3636
}).then(() => {
37-
cy.selectList('10up');
37+
cy.selectList('10up', true);
3838
});
3939
});
4040
});
4141

4242
function fillPhoneInputs(phone) {
43-
cy.get('#mc_mv_PHONE').clear().type(phone);
43+
cy.get('input[id^="mc_mv_PHONE"]').clear().type(phone);
4444
}
4545

4646
it('Valid phone numbers', () => {

0 commit comments

Comments
 (0)