Files
mostlymatter/e2e-tests/cypress/tests/integration/channels/messaging/strikethrough_spec.js
2023-03-28 18:10:00 +02:00

74 строки
2.7 KiB
JavaScript

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
// ***************************************************************
// - [#] indicates a test step (e.g. # Go to a page)
// - [*] indicates an assertion (e.g. * Check the title)
// - Use element ID when selecting an element. Create one if none.
// ***************************************************************
// Stage: @prod
// Group: @channels @messaging
import * as TIMEOUTS from '../../../fixtures/timeouts';
describe('Messaging', () => {
before(() => {
// # Login as test user and visit off-topic
cy.apiInitSetup({loginAfter: true}).then(({offTopicUrl}) => {
cy.visit(offTopicUrl);
});
});
it('MM-T173 Edit post with "strikethrough" and ensure channel auto-complete closes after second tilde (~~)', () => {
const message = 'Hello' + Date.now();
// # Post message to use
cy.postMessage(message);
// # Hit up arrow to open edit modal
cy.uiGetPostTextBox().clear().type('{uparrow}').wait(TIMEOUTS.HALF_SEC);
// # Type first tilde (a{backspace} used so cursor is in the textbox and {home} gets us to the beginning of the line)
cy.get('#edit_textbox').type('a{backspace}{home}~').wait(TIMEOUTS.HALF_SEC);
// # Channel autocomplete should show
cy.get('#suggestionList').should('exist');
// # Write the second tilde
cy.get('#edit_textbox').type('{home}{rightarrow}~').wait(TIMEOUTS.HALF_SEC);
// * Channel autocomplete should have closed
cy.get('#suggestionList').should('not.exist');
// # Go to the end of the line and type the first tilde
cy.get('#edit_textbox').type('{end} ~').wait(TIMEOUTS.HALF_SEC);
// # Channel autocomplete should show
cy.get('#suggestionList').should('exist');
// # Write the second tilde
cy.get('#edit_textbox').type('{end}~').wait(TIMEOUTS.HALF_SEC);
// * Channel autocomplete should close
cy.get('#suggestionList').should('not.exist');
// # Remove the whitespace
cy.get('#edit_textbox').type('{end}{leftarrow}{leftarrow}{backspace}').wait(TIMEOUTS.HALF_SEC);
// * Channel autocomplete should still not exist
cy.get('#suggestionList').should('not.exist');
// # finish editing
cy.get('#edit_textbox').wait(TIMEOUTS.HALF_SEC).type('{enter}');
cy.getLastPostId().then((postId) => {
// * Strikethrough message should be the same message we posted
cy.get(`#postMessageText_${postId}`).
should('have.text', `${message} Edited`).
find('del').
should('contain', message);
});
});
});