From 19d6a2c47d2a3ae1d61883a741484b5931563b73 Mon Sep 17 00:00:00 2001 From: Angel Mendez Date: Mon, 19 Feb 2024 05:07:54 -0600 Subject: [PATCH] Migration typescript/team.js (#25811) * refactor: convert file team.js to ts - convert file to typescript - create types in file * refactor: use optional chaining operator for link.click --------- Co-authored-by: Mattermost Build --- .../tests/support/ui/{team.js => team.ts} | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) rename e2e-tests/cypress/tests/support/ui/{team.js => team.ts} (64%) diff --git a/e2e-tests/cypress/tests/support/ui/team.js b/e2e-tests/cypress/tests/support/ui/team.ts similarity index 64% rename from e2e-tests/cypress/tests/support/ui/team.js rename to e2e-tests/cypress/tests/support/ui/team.ts index 3354972f3c..59be09e3d1 100644 --- a/e2e-tests/cypress/tests/support/ui/team.js +++ b/e2e-tests/cypress/tests/support/ui/team.ts @@ -1,14 +1,18 @@ // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. -Cypress.Commands.add('uiInviteMemberToCurrentTeam', (username) => { +/** + * Invites a member to the current team + * @param {string} username - the username + */ +function uiInviteMemberToCurrentTeam(username: string) { // # Open member invite screen cy.uiOpenTeamMenu('Invite People'); // # Open members section if licensed for guest accounts cy.findByTestId('invitationModal'). then((container) => container.find('[data-testid="inviteMembersLink"]')). - then((link) => link && link.click()); + then((link) => link?.click()); // # Enter bot username and submit cy.get('.users-emails-input__control input').typeWithForce(username).as('input'); @@ -23,4 +27,16 @@ Cypress.Commands.add('uiInviteMemberToCurrentTeam', (username) => { // # Close, return cy.findByTestId('confirm-done').click(); -}); +} +Cypress.Commands.add('uiInviteMemberToCurrentTeam', uiInviteMemberToCurrentTeam); + +declare global { + // eslint-disable-next-line @typescript-eslint/no-namespace + namespace Cypress { + interface Chainable { + uiInviteMemberToCurrentTeam: typeof uiInviteMemberToCurrentTeam; + } + } +} + +export {};