Skip to content

Commit 02687d3

Browse files
authored
fix(tests): resolve unsafe-to-chain linting violations (#1641)
1 parent a7de449 commit 02687d3

File tree

5 files changed

+82
-36
lines changed

5 files changed

+82
-36
lines changed

cypress/tests/ui/auth.spec.ts

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -111,11 +111,14 @@ describe("User Sign-up and Login", function () {
111111
it("should display login errors", function () {
112112
cy.visit("/");
113113

114-
cy.getBySel("signin-username").type("User").find("input").clear().blur();
114+
cy.getBySel("signin-username").type("User");
115+
cy.getBySel("signin-username").find("input").clear();
116+
cy.getBySel("signin-username").find("input").blur();
115117
cy.get("#username-helper-text").should("be.visible").and("contain", "Username is required");
116118
cy.visualSnapshot("Display Username is Required Error");
117119

118-
cy.getBySel("signin-password").type("abc").find("input").blur();
120+
cy.getBySel("signin-password").type("abc");
121+
cy.getBySel("signin-password").find("input").blur();
119122
cy.get("#password-helper-text")
120123
.should("be.visible")
121124
.and("contain", "Password must contain at least 4 characters");
@@ -130,19 +133,28 @@ describe("User Sign-up and Login", function () {
130133

131134
cy.visit("/signup");
132135

133-
cy.getBySel("signup-first-name").type("First").find("input").clear().blur();
136+
cy.getBySel("signup-first-name").type("First");
137+
cy.getBySel("signup-first-name").find("input").clear();
138+
cy.getBySel("signup-first-name").find("input").blur();
134139
cy.get("#firstName-helper-text").should("be.visible").and("contain", "First Name is required");
135140

136-
cy.getBySel("signup-last-name").type("Last").find("input").clear().blur();
141+
cy.getBySel("signup-last-name").type("Last");
142+
cy.getBySel("signup-last-name").find("input").clear();
143+
cy.getBySel("signup-last-name").find("input").blur();
137144
cy.get("#lastName-helper-text").should("be.visible").and("contain", "Last Name is required");
138145

139-
cy.getBySel("signup-username").type("User").find("input").clear().blur();
146+
cy.getBySel("signup-username").type("User");
147+
cy.getBySel("signup-username").find("input").clear();
148+
cy.getBySel("signup-username").find("input").blur();
140149
cy.get("#username-helper-text").should("be.visible").and("contain", "Username is required");
141150

142-
cy.getBySel("signup-password").type("password").find("input").clear().blur();
151+
cy.getBySel("signup-password").type("password");
152+
cy.getBySel("signup-password").find("input").clear();
153+
cy.getBySel("signup-password").find("input").blur();
143154
cy.get("#password-helper-text").should("be.visible").and("contain", "Enter your password");
144155

145-
cy.getBySel("signup-confirmPassword").type("DIFFERENT PASSWORD").find("input").blur();
156+
cy.getBySel("signup-confirmPassword").type("DIFFERENT PASSWORD");
157+
cy.getBySel("signup-confirmPassword").find("input").blur();
146158
cy.get("#confirmPassword-helper-text")
147159
.should("be.visible")
148160
.and("contain", "Password does not match");

cypress/tests/ui/bankaccounts.spec.ts

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -73,57 +73,69 @@ describe("Bank Accounts", function () {
7373
cy.visit("/bankaccounts");
7474
cy.getBySel("bankaccount-new").click();
7575

76-
cy.getBySelLike("bankName-input").type("The").find("input").clear().blur();
76+
cy.getBySelLike("bankName-input").type("The");
77+
cy.getBySelLike("bankName-input").find("input").clear();
78+
cy.getBySelLike("bankName-input").find("input").blur();
7779
cy.get("#bankaccount-bankName-input-helper-text")
7880
.should("be.visible")
7981
.and("contain", "Enter a bank name");
8082

81-
cy.getBySelLike("bankName-input").type("The").find("input").blur();
83+
cy.getBySelLike("bankName-input").type("The");
84+
cy.getBySelLike("bankName-input").find("input").blur();
8285
cy.get("#bankaccount-bankName-input-helper-text")
8386
.should("be.visible")
8487
.and("contain", "Must contain at least 5 characters");
8588

8689
/** Routing number input validations **/
8790
// Required field
88-
cy.getBySelLike("routingNumber-input").find("input").focus().blur();
91+
cy.getBySelLike("routingNumber-input").find("input").focus();
92+
cy.getBySelLike("routingNumber-input").find("input").blur();
8993
cy.get(`#bankaccount-routingNumber-input-helper-text`)
9094
.should("be.visible")
9195
.and("contain", "Enter a valid bank routing number");
9296

9397
// Min 9 digit
94-
cy.getBySelLike("routingNumber-input").type("12345678").find("input").blur();
98+
cy.getBySelLike("routingNumber-input").type("12345678");
99+
cy.getBySelLike("routingNumber-input").find("input").blur();
100+
95101
cy.get("#bankaccount-routingNumber-input-helper-text")
96102
.should("be.visible")
97103
.and("contain", "Must contain a valid routing number");
98104
cy.getBySelLike("routingNumber-input").find("input").clear();
99105

100-
cy.getBySelLike("routingNumber-input").type("123456789").find("input").blur();
106+
cy.getBySelLike("routingNumber-input").type("123456789");
107+
cy.getBySelLike("routingNumber-input").find("input").blur();
101108
cy.get("#bankaccount-routingNumber-input-helper-text").should("not.exist");
102109

103110
/** Account number input validations **/
104111
// Required field
105-
cy.getBySelLike("accountNumber-input").find("input").focus().blur();
112+
cy.getBySelLike("accountNumber-input").find("input").focus();
113+
cy.getBySelLike("accountNumber-input").find("input").blur();
106114
cy.get(`#bankaccount-accountNumber-input-helper-text`)
107115
.should("be.visible")
108116
.and("contain", "Enter a valid bank account number");
109117

110118
// Min 9 digit
111-
cy.getBySelLike("accountNumber-input").type("12345678").find("input").blur();
119+
cy.getBySelLike("accountNumber-input").type("12345678");
120+
cy.getBySelLike("accountNumber-input").find("input").blur();
112121
cy.get("#bankaccount-accountNumber-input-helper-text")
113122
.should("be.visible")
114123
.and("contain", "Must contain at least 9 digits");
115124
cy.getBySelLike("accountNumber-input").find("input").clear();
116125

117-
cy.getBySelLike("accountNumber-input").type("123456789").find("input").blur();
126+
cy.getBySelLike("accountNumber-input").type("123456789");
127+
cy.getBySelLike("accountNumber-input").find("input").blur();
118128
cy.get("#bankaccount-accountNumber-input-helper-text").should("not.exist");
119129
cy.getBySelLike("accountNumber-input").find("input").clear();
120130

121131
// Max 12 gdigit
122-
cy.getBySelLike("accountNumber-input").type("123456789111").find("input").blur();
132+
cy.getBySelLike("accountNumber-input").type("123456789111");
133+
cy.getBySelLike("accountNumber-input").find("input").blur();
123134
cy.get("#bankaccount-accountNumber-input-helper-text").should("not.exist");
124135
cy.getBySelLike("accountNumber-input").find("input").clear();
125136

126-
cy.getBySelLike("accountNumber-input").type("1234567891111").find("input").blur();
137+
cy.getBySelLike("accountNumber-input").type("1234567891111");
138+
cy.getBySelLike("accountNumber-input").find("input").blur();
127139
cy.get("#bankaccount-accountNumber-input-helper-text")
128140
.should("be.visible")
129141
.and("contain", "Must contain no more than 12 digits");

cypress/tests/ui/new-transaction.spec.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,8 @@ describe("New Transaction", function () {
7676

7777
cy.getBySelLike("create-another-transaction").click();
7878
cy.getBySel("app-name-logo").find("a").click();
79-
cy.getBySelLike("personal-tab").click().should("have.class", "Mui-selected");
79+
cy.getBySelLike("personal-tab").click();
80+
cy.getBySelLike("personal-tab").should("have.class", "Mui-selected");
8081
cy.wait("@personalTransactions");
8182

8283
cy.getBySel("transaction-list").first().should("contain", payment.description);
@@ -111,7 +112,8 @@ describe("New Transaction", function () {
111112
cy.visualSnapshot("Transaction Request Submitted Notification");
112113

113114
cy.getBySelLike("return-to-transactions").click();
114-
cy.getBySelLike("personal-tab").click().should("have.class", "Mui-selected");
115+
cy.getBySelLike("personal-tab").click();
116+
cy.getBySelLike("personal-tab").should("have.class", "Mui-selected");
115117

116118
cy.getBySelLike("transaction-item").should("contain", request.description);
117119
cy.visualSnapshot("Transaction Item Description in List");
@@ -123,12 +125,16 @@ describe("New Transaction", function () {
123125

124126
cy.getBySelLike("user-list-item").contains(ctx.contact!.firstName).click({ force: true });
125127

126-
cy.getBySelLike("amount-input").type("43").find("input").clear().blur();
128+
cy.getBySelLike("amount-input").type("43");
129+
cy.getBySelLike("amount-input").find("input").clear();
130+
cy.getBySelLike("amount-input").find("input").blur();
127131
cy.get("#transaction-create-amount-input-helper-text")
128132
.should("be.visible")
129133
.and("contain", "Please enter a valid amount");
130134

131-
cy.getBySelLike("description-input").type("Fun").find("input").clear().blur();
135+
cy.getBySelLike("description-input").type("Fun");
136+
cy.getBySelLike("description-input").find("input").clear();
137+
cy.getBySelLike("description-input").find("input").blur();
132138
cy.get("#transaction-create-description-input-helper-text")
133139
.should("be.visible")
134140
.and("contain", "Please enter a note");

cypress/tests/ui/transaction-feeds.spec.ts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,8 @@ describe("Transaction Feed", function () {
7373
cy.visualSnapshot("Mobile Home Link Side Navigation Not Visible");
7474

7575
cy.getBySel("sidenav-toggle").click();
76-
cy.getBySel("sidenav-home").click().should("not.exist");
76+
cy.getBySel("sidenav-home").click();
77+
cy.getBySel("sidenav-home").should("not.exist");
7778
cy.visualSnapshot("Mobile Toggle Side Navigation Not Visible");
7879
} else {
7980
cy.getBySel("sidenav-home").should("be.visible");
@@ -174,8 +175,8 @@ describe("Transaction Feed", function () {
174175

175176
_.each(feedViews, (feed, feedName) => {
176177
it(`paginates ${feedName} transaction feed`, function () {
178+
cy.getBySelLike(feed.tab).click();
177179
cy.getBySelLike(feed.tab)
178-
.click()
179180
.should("have.class", "Mui-selected")
180181
.contains(feed.tabLabel, { matchCase: false })
181182
.should("have.css", { "text-transform": "uppercase" });
@@ -233,7 +234,8 @@ describe("Transaction Feed", function () {
233234
const dateRangeStart = startOfDay(new Date(transaction.createdAt));
234235
const dateRangeEnd = endOfDayUTC(addDays(dateRangeStart, 1));
235236

236-
cy.getBySelLike(feed.tab).click().should("have.class", "Mui-selected");
237+
cy.getBySelLike(feed.tab).click();
238+
cy.getBySelLike(feed.tab).should("have.class", "Mui-selected");
237239

238240
cy.wait(`@${feed.routeAlias}`).its("response.body.results").as("unfilteredResults");
239241

@@ -252,8 +254,8 @@ describe("Transaction Feed", function () {
252254
start: startOfDayUTC(dateRangeStart),
253255
end: dateRangeEnd,
254256
}),
255-
`transaction created date (${createdAtDate.toISOString()})
256-
is within ${dateRangeStart.toISOString()}
257+
`transaction created date (${createdAtDate.toISOString()})
258+
is within ${dateRangeStart.toISOString()}
257259
and ${dateRangeEnd.toISOString()}`
258260
).to.equal(true);
259261
});
@@ -305,7 +307,8 @@ describe("Transaction Feed", function () {
305307

306308
_.each(feedViews, (feed, feedName) => {
307309
it(`filters ${feedName} transaction feed by amount range`, function () {
308-
cy.getBySelLike(feed.tab).click({ force: true }).should("have.class", "Mui-selected");
310+
cy.getBySelLike(feed.tab).click({ force: true });
311+
cy.getBySelLike(feed.tab).should("have.class", "Mui-selected");
309312

310313
cy.wait(`@${feed.routeAlias}`).its("response.body.results").as("unfilteredResults");
311314

cypress/tests/ui/user-settings.spec.ts

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,28 +29,36 @@ describe("User Settings", function () {
2929

3030
it("should display user setting form errors", function () {
3131
["first", "last"].forEach((field) => {
32-
cy.getBySelLike(`${field}Name-input`).type("Abc").clear().blur();
32+
cy.getBySelLike(`${field}Name-input`).type("Abc");
33+
cy.getBySelLike(`${field}Name-input`).clear();
34+
cy.getBySelLike(`${field}Name-input`).blur();
3335
cy.get(`#user-settings-${field}Name-input-helper-text`)
3436
.should("be.visible")
3537
.and("contain", `Enter a ${field} name`);
3638
});
3739

38-
cy.getBySelLike("email-input").type("abc").clear().blur();
40+
cy.getBySelLike("email-input").type("abc");
41+
cy.getBySelLike("email-input").clear();
42+
cy.getBySelLike("email-input").blur();
3943
cy.get("#user-settings-email-input-helper-text")
4044
.should("be.visible")
4145
.and("contain", "Enter an email address");
4246

43-
cy.getBySelLike("email-input").type("abc@bob.").blur();
47+
cy.getBySelLike("email-input").type("abc@bob.");
48+
cy.getBySelLike("email-input").blur();
4449
cy.get("#user-settings-email-input-helper-text")
4550
.should("be.visible")
4651
.and("contain", "Must contain a valid email address");
4752

48-
cy.getBySelLike("phoneNumber-input").type("abc").clear().blur();
53+
cy.getBySelLike("phoneNumber-input").type("abc");
54+
cy.getBySelLike("phoneNumber-input").clear();
55+
cy.getBySelLike("phoneNumber-input").blur();
4956
cy.get("#user-settings-phoneNumber-input-helper-text")
5057
.should("be.visible")
5158
.and("contain", "Enter a phone number");
5259

53-
cy.getBySelLike("phoneNumber-input").type("615-555-").blur();
60+
cy.getBySelLike("phoneNumber-input").type("615-555-");
61+
cy.getBySelLike("phoneNumber-input").blur();
5462
cy.get("#user-settings-phoneNumber-input-helper-text")
5563
.should("be.visible")
5664
.and("contain", "Phone number is not valid");
@@ -60,10 +68,15 @@ describe("User Settings", function () {
6068
});
6169

6270
it("updates first name, last name, email and phone number", function () {
63-
cy.getBySelLike("firstName").clear().type("New First Name");
64-
cy.getBySelLike("lastName").clear().type("New Last Name");
65-
cy.getBySelLike("email").clear().type("[email protected]");
66-
cy.getBySelLike("phoneNumber-input").clear().type("6155551212").blur();
71+
cy.getBySelLike("firstName").clear();
72+
cy.getBySelLike("firstName").type("New First Name");
73+
cy.getBySelLike("lastName").clear();
74+
cy.getBySelLike("lastName").type("New Last Name");
75+
cy.getBySelLike("email").clear();
76+
cy.getBySelLike("email").type("[email protected]");
77+
cy.getBySelLike("phoneNumber-input").clear();
78+
cy.getBySelLike("phoneNumber-input").type("6155551212");
79+
cy.getBySelLike("phoneNumber-input").blur();
6780

6881
cy.getBySelLike("submit").should("not.be.disabled");
6982
cy.getBySelLike("submit").click();

0 commit comments

Comments
 (0)