Merge branch 'master' of github.com:mattermost/mattermost-server into MM-51692-delete-reason-feedback-is-sending-notifications-with-translated-text
Этот коммит содержится в:
@@ -95,7 +95,7 @@ describe('Verify Accessibility Support in different sections in Settings and Pro
|
||||
|
||||
it('MM-T1465_1 Verify Label & Tab behavior in section links', () => {
|
||||
// * Verify aria-label and tab support in section of Account settings modal
|
||||
cy.uiOpenProfileModal();
|
||||
cy.uiOpenProfileModal('Profile Settings');
|
||||
cy.findByRole('tab', {name: 'profile settings'}).should('be.visible').focus().should('be.focused');
|
||||
['profile settings', 'security'].forEach((text) => {
|
||||
// * Verify aria-label on each tab and it supports navigating to the next tab with arrow keys
|
||||
@@ -114,9 +114,10 @@ describe('Verify Accessibility Support in different sections in Settings and Pro
|
||||
|
||||
it('MM-T1465_2 Verify Accessibility Support in each section in Settings and Profile Dialog', () => {
|
||||
cy.visit(url);
|
||||
cy.postMessage('hello');
|
||||
|
||||
// # Open account settings modal
|
||||
cy.uiOpenProfileModal();
|
||||
// # Open profile settings modal
|
||||
cy.uiOpenProfileModal('Profile Settings');
|
||||
|
||||
// * Verify if the focus goes to the individual fields in Profile section
|
||||
cy.findByRole('tab', {name: 'profile settings'}).click().tab();
|
||||
@@ -149,6 +150,7 @@ describe('Verify Accessibility Support in different sections in Settings and Pro
|
||||
|
||||
it('MM-T1481 Verify Correct Radio button behavior in Settings and Profile', () => {
|
||||
cy.visit(url);
|
||||
cy.postMessage('hello');
|
||||
cy.uiOpenSettingsModal();
|
||||
|
||||
cy.get('#notificationsButton').click();
|
||||
@@ -160,7 +162,8 @@ describe('Verify Accessibility Support in different sections in Settings and Pro
|
||||
|
||||
it('MM-T1482 Input fields in Settings and Profile should read labels', () => {
|
||||
cy.visit(url);
|
||||
cy.uiOpenProfileModal();
|
||||
cy.postMessage('hello');
|
||||
cy.uiOpenProfileModal('Profile Settings');
|
||||
|
||||
accountSettings.profile.forEach((section) => {
|
||||
if (section.type === 'text') {
|
||||
@@ -178,6 +181,7 @@ describe('Verify Accessibility Support in different sections in Settings and Pro
|
||||
|
||||
it('MM-T1485 Language dropdown should read labels', () => {
|
||||
cy.visit(url);
|
||||
cy.postMessage('hello');
|
||||
cy.uiOpenSettingsModal();
|
||||
|
||||
cy.get('#displayButton').click();
|
||||
@@ -216,9 +220,10 @@ describe('Verify Accessibility Support in different sections in Settings and Pro
|
||||
|
||||
it('MM-T1488 Profile Picture should read labels', () => {
|
||||
cy.visit(url);
|
||||
cy.postMessage('hello');
|
||||
|
||||
// # Go to Edit Profile picture
|
||||
cy.uiOpenProfileModal();
|
||||
cy.uiOpenProfileModal('Profile Settings');
|
||||
cy.get('#pictureEdit').click();
|
||||
|
||||
// * Verify image alt in profile image
|
||||
@@ -269,9 +274,10 @@ describe('Verify Accessibility Support in different sections in Settings and Pro
|
||||
|
||||
it('MM-T1496 Security Settings screen should read labels', () => {
|
||||
cy.visit(url);
|
||||
cy.postMessage('hello');
|
||||
|
||||
// # Go to Security Settings
|
||||
cy.uiOpenProfileModal();
|
||||
cy.uiOpenProfileModal('Profile Settings');
|
||||
cy.get('#securityButton').click();
|
||||
|
||||
// * Check Tab behavior in MFA section
|
||||
|
||||
@@ -21,17 +21,16 @@ describe('Account Settings', () => {
|
||||
offTopic = offTopicUrl;
|
||||
testUser = user;
|
||||
testTeam = team;
|
||||
|
||||
cy.postMessage('hello');
|
||||
});
|
||||
});
|
||||
|
||||
it('MM-T2049 Account Settings link in own popover', () => {
|
||||
// # Click avatar to open profile popover
|
||||
cy.get('div.status-wrapper').should('be.visible').click();
|
||||
cy.uiOpenProfileModal('Profile Settings');
|
||||
|
||||
// # Click account settings link
|
||||
cy.get('#accountSettings').should('be.visible').click();
|
||||
|
||||
// # Check if account settings modal is open
|
||||
// # Check if profile settings modal is open
|
||||
cy.get('#accountSettingsModal').should('be.visible');
|
||||
|
||||
cy.uiClose();
|
||||
@@ -62,33 +61,22 @@ describe('Account Settings', () => {
|
||||
|
||||
it('MM-T2074 New email not visible to other users until it has been confirmed', () => {
|
||||
// # Login as admin
|
||||
cy.apiLogout();
|
||||
cy.apiAdminLogin();
|
||||
|
||||
// * Set require email verification to true
|
||||
cy.visit('/admin_console/authentication/email');
|
||||
cy.get('[id="EmailSettings.EnableSignInWithEmailtrue"]').should('be.visible').click();
|
||||
cy.get('#saveSetting').invoke('attr', 'disabled').
|
||||
then((disabled) => {
|
||||
disabled ? '' : cy.uiSave();
|
||||
});
|
||||
cy.visit(offTopic);
|
||||
|
||||
// # Create user
|
||||
cy.apiCreateUser({prefix: 'test'}).then(({user: newUser}) => {
|
||||
// # Add user to team
|
||||
cy.apiAddUserToTeam(testTeam.id, newUser.id).then(() => {
|
||||
// # Create DM channel
|
||||
cy.apiCreateDirectChannel([testUser.id, newUser.id]).then(({channel}) => {
|
||||
// # Login to first user
|
||||
cy.uiLogout();
|
||||
cy.uiLogin(testUser);
|
||||
cy.apiLogin(testUser);
|
||||
cy.visit(offTopic);
|
||||
cy.postMessage('hello');
|
||||
|
||||
// * Update email
|
||||
const oldEMail = testUser.email;
|
||||
const newEMail = 'test@example.com';
|
||||
cy.uiOpenProfileModal();
|
||||
cy.uiOpenProfileModal('Profile Settings');
|
||||
cy.get('#emailEdit').should('be.visible').click();
|
||||
cy.get('#primaryEmail').should('be.visible').type(newEMail);
|
||||
cy.get('#confirmEmail').should('be.visible').type(newEMail);
|
||||
@@ -99,8 +87,7 @@ describe('Account Settings', () => {
|
||||
cy.postMessageAs({sender: testUser, message: `@${newUser.username}`, channelId: channel.id});
|
||||
|
||||
// # Login to 2nd user
|
||||
cy.uiLogout();
|
||||
cy.uiLogin(newUser);
|
||||
cy.apiLogin(newUser);
|
||||
|
||||
// * Check if email updated
|
||||
cy.visit(`/${testTeam.name}/messages/@${testUser.username}`);
|
||||
|
||||
@@ -16,6 +16,9 @@ describe('Profile > Profile Settings > Position', () => {
|
||||
cy.apiInitSetup({loginAfter: true}).then(({offTopicUrl}) => {
|
||||
// # Visit off-topic channel
|
||||
cy.visit(offTopicUrl);
|
||||
|
||||
// # Post message in the main channel
|
||||
cy.postMessage('hello from master hacker');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -23,20 +26,21 @@ describe('Profile > Profile Settings > Position', () => {
|
||||
const position = 'Master hacker';
|
||||
|
||||
// # Open 'Profile' modal and view the default 'Profile Settings'
|
||||
cy.uiOpenProfileModal().within(() => {
|
||||
cy.uiOpenProfileModal('Profile Settings').within(() => {
|
||||
// # Open 'Position' setting
|
||||
cy.findByRole('heading', {name: 'Position'}).should('be.visible').click();
|
||||
|
||||
// # Enter new 'Position'
|
||||
cy.findByRole('textbox', {name: 'Position'}).should('be.visible').type(position);
|
||||
cy.findByRole('textbox', {name: 'Position'}).
|
||||
should('be.visible').
|
||||
and('be.focused').
|
||||
type(position).
|
||||
should('have.value', position);
|
||||
|
||||
// # Save and close the modal
|
||||
cy.uiSaveAndClose();
|
||||
});
|
||||
|
||||
// # Post message in the main channel
|
||||
cy.postMessage('hello from master hacker');
|
||||
|
||||
// # Click on the profile image
|
||||
cy.get('.profile-icon > img').as('profileIconForPopover').click();
|
||||
|
||||
@@ -48,7 +52,7 @@ describe('Profile > Profile Settings > Position', () => {
|
||||
const longPosition = 'Master Hacker II'.repeat(8);
|
||||
|
||||
// # Open 'Profile' modal and view the default 'Profile Settings'
|
||||
cy.uiOpenProfileModal().within(() => {
|
||||
cy.uiOpenProfileModal('Profile Settings').within(() => {
|
||||
const minPositionHeader = () => cy.findByRole('heading', {name: 'Position'});
|
||||
const maxPositionInput = () => cy.findByRole('textbox', {name: 'Position'});
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ describe('Profile > Profile Settings > Email', () => {
|
||||
|
||||
beforeEach(() => {
|
||||
// # Go to Profile
|
||||
cy.uiOpenProfileModal();
|
||||
cy.uiOpenProfileModal('Profile Settings');
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
@@ -174,7 +174,7 @@ describe('Profile > Profile Settings > Email', () => {
|
||||
expect(subject).to.equal(`[${siteName}] Your email address has changed`);
|
||||
});
|
||||
|
||||
cy.uiOpenProfileModal();
|
||||
cy.uiOpenProfileModal('Profile Settings');
|
||||
|
||||
// * Verify new email address
|
||||
cy.get('#emailDesc').should('be.visible').should('have.text', email);
|
||||
|
||||
@@ -23,7 +23,7 @@ describe('Profile > Profile Settings > Full Name', () => {
|
||||
|
||||
it('MM-T2043 Enter first name', () => {
|
||||
// # Go to Profile
|
||||
cy.uiOpenProfileModal();
|
||||
cy.uiOpenProfileModal('Profile Settings');
|
||||
|
||||
// # Click "Edit" to the right of "Full Name"
|
||||
cy.get('#nameEdit').should('be.visible').click();
|
||||
@@ -46,7 +46,7 @@ describe('Profile > Profile Settings > Full Name', () => {
|
||||
|
||||
it('MM-T2042 Full Name starting blank stays blank', () => {
|
||||
// # Go to Profile
|
||||
cy.uiOpenProfileModal();
|
||||
cy.uiOpenProfileModal('Profile Settings');
|
||||
|
||||
// # Click "Edit" to the right of "Full Name"
|
||||
cy.get('#nameEdit').should('be.visible').click();
|
||||
|
||||
@@ -33,7 +33,7 @@ describe('Profile > Profile Settings> Full Name', () => {
|
||||
|
||||
it('MM-T2046 Full Name - Truncated in popover', () => {
|
||||
// # Go to Profile -> Profile Settings -> Full Name -> Edit
|
||||
cy.uiOpenProfileModal();
|
||||
cy.uiOpenProfileModal('Profile Settings');
|
||||
|
||||
// # Open Full Name section
|
||||
cy.get('#nameDesc').click();
|
||||
@@ -50,7 +50,7 @@ describe('Profile > Profile Settings> Full Name', () => {
|
||||
// * Full name field shows first and last name.
|
||||
cy.contains('#nameDesc', `${firstName} ${lastName}`);
|
||||
|
||||
// # Close account settings modal
|
||||
// # Close profile settings modal
|
||||
cy.uiClose();
|
||||
});
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ describe('Account Settings', () => {
|
||||
|
||||
it('MM-T2045 Full Name - Link in help text', () => {
|
||||
// # Go to Profile
|
||||
cy.uiOpenProfileModal();
|
||||
cy.uiOpenProfileModal('Profile Settings');
|
||||
|
||||
// * Ensure that the Profile tab is loaded
|
||||
cy.get('#generalSettingsTitle').should('be.visible').should('contain', 'Profile');
|
||||
|
||||
@@ -27,7 +27,7 @@ describe('Settings > Sidebar > General', () => {
|
||||
|
||||
it('MM-T3848 No nickname is present', () => {
|
||||
// # Open 'Profile' modal and view the default 'Profile'
|
||||
cy.uiOpenProfileModal().within(() => {
|
||||
cy.uiOpenProfileModal('Profile Settings').within(() => {
|
||||
// # Open 'Nickname' setting
|
||||
cy.uiGetHeading('Nickname').click();
|
||||
|
||||
@@ -56,7 +56,7 @@ describe('Settings > Sidebar > General', () => {
|
||||
const newNickname = 'victor_nick';
|
||||
|
||||
// # Open 'Profile' modal and view the default 'Profile Settings'
|
||||
cy.uiOpenProfileModal().within(() => {
|
||||
cy.uiOpenProfileModal('Profile Settings').within(() => {
|
||||
// # Open 'Nickname' setting
|
||||
cy.uiGetHeading('Nickname').click();
|
||||
|
||||
@@ -133,7 +133,7 @@ describe('Settings > Sidebar > General', () => {
|
||||
|
||||
it('MM-T2061 Nickname should reset on cancel of edit', () => {
|
||||
// # Open 'Profile' modal and view the default 'Profile Settings'
|
||||
cy.uiOpenProfileModal().within(() => {
|
||||
cy.uiOpenProfileModal('Profile Settings').within(() => {
|
||||
// # Open 'Nickname' setting
|
||||
cy.uiGetHeading('Nickname').click();
|
||||
|
||||
@@ -156,7 +156,7 @@ describe('Settings > Sidebar > General', () => {
|
||||
|
||||
it('MM-T2062 Clear nickname and save', () => {
|
||||
// # Open 'Profile' modal and view the default 'Profile Settings'
|
||||
cy.uiOpenProfileModal().within(() => {
|
||||
cy.uiOpenProfileModal('Profile Settings').within(() => {
|
||||
// # Open 'Nickname' setting
|
||||
cy.uiGetHeading('Nickname').click();
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
import * as TIMEOUTS from '../../../../fixtures/timeouts';
|
||||
|
||||
describe('Account Settings', () => {
|
||||
describe('Profile Settings', () => {
|
||||
beforeEach(() => {
|
||||
cy.apiAdminLogin().apiInitSetup({loginAfter: true}).its('user').as('user');
|
||||
});
|
||||
@@ -21,7 +21,7 @@ describe('Account Settings', () => {
|
||||
getProfilePictureId().as('idOld');
|
||||
|
||||
// # Open Profile > Profile Settings > Profile Picture > Edit
|
||||
cy.uiOpenProfileModal().findByRole('button', {name: /picture edit/i}).click();
|
||||
cy.uiOpenProfileModal('Profile Settings').findByRole('button', {name: /picture edit/i}).click();
|
||||
|
||||
// # Click the X to remove the old profile picture but do not click save
|
||||
cy.findByRole('button', {name: /remove profile picture/i}).click();
|
||||
@@ -74,7 +74,7 @@ function verifyProfilePictureDoesNotUpdateAfterCancel() {
|
||||
});
|
||||
|
||||
// # Open Profile > Profile Settings > Profile Picture > Edit
|
||||
cy.uiOpenProfileModal().findByRole('button', {name: /picture edit/i}).click();
|
||||
cy.uiOpenProfileModal('Profile Settings').findByRole('button', {name: /picture edit/i}).click();
|
||||
|
||||
// # Select a new profile picture
|
||||
cy.findByTestId('uploadPicture').attachFile('png-image-file.png');
|
||||
|
||||
@@ -32,7 +32,7 @@ describe('Profile > Profile Settings > Profile Picture', () => {
|
||||
and('not.include', customImageMatch);
|
||||
|
||||
// # Go to Profile
|
||||
cy.uiOpenProfileModal();
|
||||
cy.uiOpenProfileModal('Profile Settings');
|
||||
|
||||
// # Click "Edit" to the right of "Profile Picture"
|
||||
cy.get('#pictureEdit').should('be.visible').click();
|
||||
@@ -51,7 +51,7 @@ describe('Profile > Profile Settings > Profile Picture', () => {
|
||||
and('include', customImageMatch);
|
||||
|
||||
// # Go to Profile
|
||||
cy.uiOpenProfileModal();
|
||||
cy.uiOpenProfileModal('Profile Settings');
|
||||
|
||||
// # Click "Edit" to the right of "Profile Picture"
|
||||
cy.get('#pictureEdit').should('be.visible').click();
|
||||
@@ -75,7 +75,7 @@ describe('Profile > Profile Settings > Profile Picture', () => {
|
||||
|
||||
it('MM-T2077 Profile picture: non image file shows error', () => {
|
||||
// # Go to Profile
|
||||
cy.uiOpenProfileModal();
|
||||
cy.uiOpenProfileModal('Profile Settings');
|
||||
|
||||
// # Click "Edit" to the right of "Profile Picture"
|
||||
cy.get('#pictureEdit').should('be.visible').click();
|
||||
|
||||
@@ -41,7 +41,7 @@ describe('Settings > Sidebar > General > Edit', () => {
|
||||
|
||||
beforeEach(() => {
|
||||
// # Go to Profile
|
||||
cy.uiOpenProfileModal();
|
||||
cy.uiOpenProfileModal('Profile Settings');
|
||||
});
|
||||
|
||||
it('MM-T2050 Username cannot be blank', () => {
|
||||
@@ -101,7 +101,7 @@ describe('Settings > Sidebar > General > Edit', () => {
|
||||
// # Login the temporary user
|
||||
cy.apiLogin(tempUser);
|
||||
cy.visit(offTopicUrl);
|
||||
cy.uiOpenProfileModal();
|
||||
cy.uiOpenProfileModal('Profile Settings');
|
||||
|
||||
// # Step 1
|
||||
// # Edit the username field
|
||||
@@ -214,8 +214,8 @@ describe('Settings > Sidebar > General > Edit', () => {
|
||||
cy.apiLogin(testUser);
|
||||
cy.visit(offTopicUrl);
|
||||
|
||||
// # Open account settings modal
|
||||
cy.uiOpenProfileModal();
|
||||
// # Open profile settings modal
|
||||
cy.uiOpenProfileModal('Profile Settings');
|
||||
|
||||
// # Open Full Name section
|
||||
cy.get('#usernameDesc').click();
|
||||
|
||||
@@ -79,7 +79,7 @@ describe('Authentication', () => {
|
||||
cy.visit('/');
|
||||
|
||||
// # Open Profile
|
||||
cy.uiOpenProfileModal();
|
||||
cy.uiOpenProfileModal('Profile Settings');
|
||||
|
||||
// # Click "Edit" to the right of "Email"
|
||||
cy.get('#emailEdit').should('be.visible').click();
|
||||
|
||||
@@ -60,8 +60,8 @@ describe('Channels', () => {
|
||||
cy.apiLogin(otherUser);
|
||||
cy.visit(`/${testTeam.name}/channels/town-square`);
|
||||
|
||||
// # Go to LHS and click 'Browse Channels'
|
||||
cy.uiBrowseOrCreateChannel('Browse Channels').click();
|
||||
// # Go to LHS and click 'Browse channels'
|
||||
cy.uiBrowseOrCreateChannel('Browse channels').click();
|
||||
|
||||
cy.get('#moreChannelsModal').should('be.visible').within(() => {
|
||||
// * Dropdown should be visible, defaulting to "Public Channels"
|
||||
@@ -103,8 +103,8 @@ describe('Channels', () => {
|
||||
cy.findByText('Archive').should('be.visible').click();
|
||||
});
|
||||
|
||||
// # Go to LHS and click 'Browse Channels'
|
||||
cy.uiBrowseOrCreateChannel('Browse Channels').click();
|
||||
// # Go to LHS and click 'Browse channels'
|
||||
cy.uiBrowseOrCreateChannel('Browse channels').click();
|
||||
|
||||
cy.get('#moreChannelsModal').should('be.visible').within(() => {
|
||||
// # CLick dropdown to open selection
|
||||
@@ -191,8 +191,8 @@ describe('Channels', () => {
|
||||
});
|
||||
});
|
||||
|
||||
// # Go to LHS and click 'Browse Channels'
|
||||
cy.uiBrowseOrCreateChannel('Browse Channels').click();
|
||||
// # Go to LHS and click 'Browse channels'
|
||||
cy.uiBrowseOrCreateChannel('Browse channels').click();
|
||||
|
||||
// * Dropdown should be visible, defaulting to "Public Channels"
|
||||
cy.get('#channelsMoreDropdown').should('be.visible').within((el) => {
|
||||
@@ -244,8 +244,8 @@ function verifyMoreChannelsModalWithArchivedSelection(isEnabled, testUser, testT
|
||||
}
|
||||
|
||||
function verifyMoreChannelsModal(isEnabled) {
|
||||
// # Go to LHS and click 'Browse Channels'
|
||||
cy.uiBrowseOrCreateChannel('Browse Channels').click();
|
||||
// # Go to LHS and click 'Browse channels'
|
||||
cy.uiBrowseOrCreateChannel('Browse channels').click();
|
||||
|
||||
// * Verify that the more channels modal is open and with or without option to view archived channels
|
||||
cy.get('#moreChannelsModal').should('be.visible').within(() => {
|
||||
|
||||
@@ -49,8 +49,8 @@ describe('more public channels', () => {
|
||||
// # Go to town square
|
||||
cy.visit(`/${testTeam.name}/channels/town-square`);
|
||||
|
||||
// # Go to LHS and click 'Browse Channels'
|
||||
cy.uiBrowseOrCreateChannel('Browse Channels').click();
|
||||
// # Go to LHS and click 'Browse channels'
|
||||
cy.uiBrowseOrCreateChannel('Browse channels').click();
|
||||
|
||||
// * Assert that the moreChannelsModel is visible
|
||||
cy.findByRole('dialog', {name: 'More Channels'}).should('be.visible').within(() => {
|
||||
@@ -82,8 +82,8 @@ describe('more public channels', () => {
|
||||
// # Go to town square
|
||||
cy.visit(`/${testTeam.name}/channels/town-square`);
|
||||
|
||||
// # Go to LHS and click 'Browse Channels'
|
||||
cy.uiBrowseOrCreateChannel('Browse Channels').click();
|
||||
// # Go to LHS and click 'Browse channels'
|
||||
cy.uiBrowseOrCreateChannel('Browse channels').click();
|
||||
|
||||
// * Assert the moreChannelsModel is visible
|
||||
cy.findByRole('dialog', {name: 'More Channels'}).should('be.visible').within(() => {
|
||||
|
||||
@@ -8,8 +8,7 @@
|
||||
// ***************************************************************
|
||||
|
||||
// Stage: @prod
|
||||
// Group: @channels @channel
|
||||
// Group: @channels @channel_settings
|
||||
// Group: @channels @channel @channel_settings
|
||||
|
||||
import * as TIMEOUTS from '../../../fixtures/timeouts';
|
||||
import {getRandomId} from '../../../utils';
|
||||
@@ -54,7 +53,7 @@ describe('Channel routing', () => {
|
||||
|
||||
it('MM-T884_2 Creating new channel validates against two user IDs being used as channel name', () => {
|
||||
// # click on create public channel
|
||||
cy.uiBrowseOrCreateChannel('Create New Channel').click();
|
||||
cy.uiBrowseOrCreateChannel('Create new channel').click();
|
||||
|
||||
// * Verify that the new channel modal is visible
|
||||
cy.get('#new-channel-modal').should('be.visible').within(() => {
|
||||
@@ -74,7 +73,7 @@ describe('Channel routing', () => {
|
||||
|
||||
it('MM-T884_3 Creating a new channel validates against gm-like names being used as channel name', () => {
|
||||
// # click on create public channel
|
||||
cy.uiBrowseOrCreateChannel('Create New Channel').click();
|
||||
cy.uiBrowseOrCreateChannel('Create new channel').click();
|
||||
|
||||
// * Verify that the new channel modal is visible
|
||||
cy.findByRole('dialog', {name: 'Create a new channel'}).within(() => {
|
||||
|
||||
@@ -143,7 +143,7 @@ function createCategoryFromSidebarMenu() {
|
||||
cy.uiGetLHSAddChannelButton().click();
|
||||
|
||||
// # Click on create category link
|
||||
cy.findByText('Create New Category').should('be.visible').click();
|
||||
cy.findByText('Create new category').should('be.visible').click();
|
||||
|
||||
// # Verify that Create Category modal has shown up.
|
||||
// # Wait for a while until the modal has fully loaded, especially during first-time access.
|
||||
|
||||
@@ -26,7 +26,7 @@ describe('Category sorting', () => {
|
||||
cy.uiGetLHSAddChannelButton().click();
|
||||
|
||||
// # Click on create category link
|
||||
cy.findByText('Create New Category').should('be.visible').click();
|
||||
cy.findByText('Create new category').should('be.visible').click();
|
||||
|
||||
// # Add a name 26 characters in length e.g `abcdefghijklmnopqrstuvwxyz`
|
||||
cy.get('#editCategoryModal').should('be.visible').wait(TIMEOUTS.HALF_SEC).within(() => {
|
||||
|
||||
@@ -23,14 +23,14 @@ describe('Channel sidebar', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it('MM-T3161_1 should create a new category from sidebar menu -- KNOWN ISSUE: MM-42576', () => {
|
||||
it('MM-T3161_1 should create a new category from sidebar menu', () => {
|
||||
const categoryName = createCategoryFromSidebarMenu();
|
||||
|
||||
// * Check if the category exists
|
||||
cy.findByLabelText(categoryName).should('be.visible');
|
||||
});
|
||||
|
||||
it('MM-T3161_2 should create a new category from category menu -- KNOWN ISSUE: MM-42576', () => {
|
||||
it('MM-T3161_2 should create a new category from category menu', () => {
|
||||
const categoryName = createCategoryFromSidebarMenu();
|
||||
|
||||
// # Create new category from category menu
|
||||
@@ -43,7 +43,7 @@ describe('Channel sidebar', () => {
|
||||
cy.findByLabelText(newCategoryName).should('be.visible');
|
||||
});
|
||||
|
||||
it('MM-T3161_3 move an existing channel to a new category -- KNOWN ISSUE: MM-42576', () => {
|
||||
it('MM-T3161_3 move an existing channel to a new category', () => {
|
||||
const newCategoryName = `category-${getRandomId()}`;
|
||||
|
||||
// # Move to a new category
|
||||
@@ -53,7 +53,7 @@ describe('Channel sidebar', () => {
|
||||
cy.findByLabelText(newCategoryName).should('be.visible');
|
||||
});
|
||||
|
||||
it('MM-T3163 Rename a category -- KNOWN ISSUE: MM-42576', () => {
|
||||
it('MM-T3163 Rename a category', () => {
|
||||
const categoryName = createCategoryFromSidebarMenu();
|
||||
|
||||
// # Rename category from category menu
|
||||
@@ -71,7 +71,7 @@ describe('Channel sidebar', () => {
|
||||
cy.findByLabelText(renameCategory).should('be.visible');
|
||||
});
|
||||
|
||||
it('MM-T3165 Delete a category -- KNOWN ISSUE: MM-42576', () => {
|
||||
it('MM-T3165 Delete a category', () => {
|
||||
const categoryName = createCategoryFromSidebarMenu();
|
||||
|
||||
// # Delete category from category menu
|
||||
@@ -93,7 +93,7 @@ function createCategoryFromSidebarMenu() {
|
||||
cy.uiGetLHSAddChannelButton().click();
|
||||
|
||||
// # Click on create category link
|
||||
cy.findByText('Create New Category').should('be.visible').click();
|
||||
cy.findByText('Create new category').should('be.visible').click();
|
||||
|
||||
// # Verify that Create Category modal has shown up.
|
||||
// # Wait for a while until the modal has fully loaded, especially during first-time access.
|
||||
|
||||
@@ -64,8 +64,8 @@ describe('Channel sidebar', () => {
|
||||
// # Click the New Channel Dropdown button
|
||||
cy.uiGetLHSAddChannelButton().should('be.visible').click();
|
||||
|
||||
// # Click the Browse Channels dropdown item
|
||||
cy.get('.AddChannelDropdown .MenuItem:contains(Browse Channels) button').should('be.visible').click();
|
||||
// # Click the Browse channels dropdown item
|
||||
cy.get('.AddChannelDropdown .MenuItem:contains(Browse channels) button').should('be.visible').click();
|
||||
|
||||
// * Verify that the more channels modal is visible
|
||||
cy.get('.more-modal').should('be.visible');
|
||||
|
||||
@@ -101,7 +101,7 @@ describe('Verify Accessibility Support in Modals & Dialogs', () => {
|
||||
cy.reload();
|
||||
|
||||
// * Verify the aria-label in more public channels button
|
||||
cy.uiBrowseOrCreateChannel('Browse Channels').click();
|
||||
cy.uiBrowseOrCreateChannel('Browse channels').click();
|
||||
|
||||
// * Verify the accessibility support in More Channels Dialog
|
||||
cy.findByRole('dialog', {name: 'More Channels'}).within(() => {
|
||||
|
||||
@@ -230,7 +230,7 @@ context('ldap', () => {
|
||||
|
||||
// # Go to team page to look for this channel in public channel directory
|
||||
cy.visit(`/${testTeam.name}`);
|
||||
cy.uiBrowseOrCreateChannel('Browse Channels').click();
|
||||
cy.uiBrowseOrCreateChannel('Browse channels').click();
|
||||
|
||||
// * Search private channel name and make sure it isn't there in public channel directory
|
||||
cy.get('#searchChannelsTextbox').type(testChannel.display_name);
|
||||
@@ -451,8 +451,8 @@ context('ldap', () => {
|
||||
// # Visit off-topic channel
|
||||
cy.visit(`/${testTeam.name}/channels/off-topic`);
|
||||
|
||||
// # Go to LHS and click 'Browse Channels'
|
||||
cy.uiBrowseOrCreateChannel('Browse Channels').click();
|
||||
// # Go to LHS and click 'Browse channels'
|
||||
cy.uiBrowseOrCreateChannel('Browse channels').click();
|
||||
|
||||
// * Search public channel and ensure it appears in the list
|
||||
cy.get('#searchChannelsTextbox').type(publicChannel.display_name);
|
||||
@@ -468,8 +468,8 @@ context('ldap', () => {
|
||||
// # Visit off-topic channel
|
||||
cy.visit(`/${testTeam.name}/channels/off-topic`);
|
||||
|
||||
// # Go to LHS and click 'Browse Channels'
|
||||
cy.uiBrowseOrCreateChannel('Browse Channels').click();
|
||||
// # Go to LHS and click 'Browse channels'
|
||||
cy.uiBrowseOrCreateChannel('Browse channels').click();
|
||||
|
||||
// * Search private channel name and make sure it isn't there in public channel directory
|
||||
cy.get('#searchChannelsTextbox').type(publicChannel.display_name);
|
||||
|
||||
@@ -292,7 +292,7 @@ describe('Integrations page', () => {
|
||||
// * The app should no longer exist
|
||||
cy.get(`[data-app="${oauthClientID}"]`).should('not.exist');
|
||||
|
||||
// # Close the account settings modal
|
||||
// # Close the profile settings modal
|
||||
cy.get('#accountSettingsHeader').within(() => {
|
||||
cy.get('button.close').click();
|
||||
});
|
||||
|
||||
@@ -148,7 +148,7 @@ describe('Team Permissions', () => {
|
||||
cy.visit(`/${testTeam.name}/channels/town-square`);
|
||||
|
||||
// # Click on create new channel at LHS
|
||||
cy.uiBrowseOrCreateChannel('Create New Channel').click();
|
||||
cy.uiBrowseOrCreateChannel('Create new channel').click();
|
||||
|
||||
// * Verify that the create private channel is disabled
|
||||
cy.findByRole('dialog', {name: 'Create a new channel'}).find('#public-private-selector-button-P').should('have.class', 'disabled');
|
||||
|
||||
@@ -105,7 +105,7 @@ function verifyCreatePublicChannel(teamName, testUsers) {
|
||||
cy.visit(`/${teamName}/channels/town-square`);
|
||||
|
||||
// # Click on create new channel at LHS
|
||||
cy.uiBrowseOrCreateChannel('Create New Channel').click();
|
||||
cy.uiBrowseOrCreateChannel('Create new channel').click();
|
||||
|
||||
cy.findByRole('dialog', {name: 'Create a new channel'}).within(() => {
|
||||
// * Verify if creating a public channel is disabled or not
|
||||
|
||||
@@ -176,7 +176,7 @@ describe('Integrations', () => {
|
||||
// # Post "/marketplace" as SystemAdmin
|
||||
cy.postMessage('/marketplace ');
|
||||
|
||||
cy.get('#modal_marketplace').should('be.visible');
|
||||
cy.findByRole('heading', {name: 'App Marketplace'}).should('be.visible');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -21,7 +21,7 @@ describe('Keyboard Shortcuts', () => {
|
||||
// # Type CTRL/CMD+SHIFT+A to open 'Settings'
|
||||
cy.uiGetPostTextBox().cmdOrCtrlShortcut('{shift}A');
|
||||
|
||||
// * Ensure account settings modal is open
|
||||
// * Ensure profile settings modal is open
|
||||
cy.get('#accountSettingsModal').should('be.visible');
|
||||
|
||||
cy.uiClose();
|
||||
|
||||
@@ -111,7 +111,7 @@ describe('Keyboard shortcut CTRL/CMD+Shift+\\ for adding reaction to last messag
|
||||
cy.uiOpenTeamMenu('View Members');
|
||||
verifyEmojiPickerNotOpen();
|
||||
|
||||
cy.uiOpenProfileModal();
|
||||
cy.uiOpenProfileModal('Profile Settings');
|
||||
verifyEmojiPickerNotOpen();
|
||||
|
||||
['Edit Channel Header', 'Rename Channel'].forEach((modal) => {
|
||||
|
||||
@@ -25,7 +25,7 @@ describe('Main menu', () => {
|
||||
cy.apiLogin(testUser);
|
||||
cy.visit(`/${testTeam.name}/channels/town-square`);
|
||||
|
||||
cy.uiOpenProfileModal();
|
||||
cy.uiOpenProfileModal('Profile Settings');
|
||||
cy.findByRole('set status').should('not.exist');
|
||||
});
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ describe('Messaging', () => {
|
||||
// # Create a post and hover over post menu and verify One click reactions are not part of the post menu on hover
|
||||
cy.visit(offTopicPath);
|
||||
|
||||
// # Toggle One-click reactions option in Account Settings>Display>One-click reactions on messages to ON
|
||||
// # Toggle One-click reactions option in Settings > Display> One-click reactions on messages to ON
|
||||
cy.uiOpenSettingsModal('Display').within(() => {
|
||||
cy.findByText('Display', {timeout: timeouts.ONE_MIN}).click();
|
||||
cy.findByText('Quick reactions on messages').click();
|
||||
@@ -158,7 +158,7 @@ describe('Messaging', () => {
|
||||
|
||||
cy.visit(offTopicPath).wait(timeouts.HALF_SEC);
|
||||
|
||||
// # Open Account Settings > Display
|
||||
// # Open Settings > Display
|
||||
// * Verify One-click reactions on messages option is not available
|
||||
cy.uiOpenSettingsModal('Display').within(() => {
|
||||
cy.findByText('Display', {timeout: timeouts.ONE_MIN}).click();
|
||||
|
||||
@@ -77,7 +77,7 @@ describe('Channel', () => {
|
||||
*/
|
||||
function verifyExistingChannelError(newChannelName, makePrivate = false) {
|
||||
// Click on '+' button for Public or Private Channel
|
||||
cy.uiBrowseOrCreateChannel('Create New Channel').click();
|
||||
cy.uiBrowseOrCreateChannel('Create new channel').click();
|
||||
|
||||
if (makePrivate) {
|
||||
cy.get('#public-private-selector-button-P').click();
|
||||
|
||||
@@ -22,7 +22,7 @@ describe('Profile Settings', () => {
|
||||
});
|
||||
|
||||
it('MM-T2044 Clear fields, values revert', () => {
|
||||
cy.uiOpenProfileModal();
|
||||
cy.uiOpenProfileModal('Profile Settings');
|
||||
|
||||
// # Click "Edit" to the right of "Full Name"
|
||||
cy.get('#nameEdit').should('be.visible').click();
|
||||
|
||||
@@ -33,7 +33,7 @@ describe('Settings > Sidebar > General', () => {
|
||||
// # Login as test user, visit off-topic and go to the Profile
|
||||
cy.apiLogin(testUser);
|
||||
cy.visit(offTopicUrl);
|
||||
cy.uiOpenProfileModal();
|
||||
cy.uiOpenProfileModal('Profile Settings');
|
||||
|
||||
// # Open Full Name section
|
||||
cy.get('#nameDesc').click();
|
||||
|
||||
10
e2e-tests/cypress/tests/support/ui/account_settings_modal.d.ts
поставляемый
10
e2e-tests/cypress/tests/support/ui/account_settings_modal.d.ts
поставляемый
@@ -18,19 +18,19 @@ declare namespace Cypress {
|
||||
interface Chainable {
|
||||
|
||||
/**
|
||||
* Open the account settings modal
|
||||
* Open the profile settings modal
|
||||
* @param {string} section - such as `'General'`, `'Security'`, `'Notifications'`, `'Display'`, `'Sidebar'` and `'Advanced'`
|
||||
* @return the "#accountSettingsModal"
|
||||
*
|
||||
* @example
|
||||
* cy.uiOpenProfileModal().within(() => {
|
||||
* cy.uiOpenProfileModal('Profile Settings').within(() => {
|
||||
* // Do something here
|
||||
* });
|
||||
*/
|
||||
uiOpenProfileModal(section?: string): Chainable<JQuery<HTMLElement>>;
|
||||
uiOpenProfileModal(section: string): Chainable<JQuery<HTMLElement>>;
|
||||
|
||||
/**
|
||||
* Close the account settings modal given that the modal itself is opened.
|
||||
* Close the profile settings modal given that the modal itself is opened.
|
||||
*
|
||||
* @example
|
||||
* cy.uiCloseAccountSettingsModal();
|
||||
@@ -38,7 +38,7 @@ declare namespace Cypress {
|
||||
uiCloseAccountSettingsModal(): Chainable;
|
||||
|
||||
/**
|
||||
* Navigate to account settings and verify the user's first, last name
|
||||
* Navigate to profile settings and verify the user's first, last name
|
||||
* @param {String} firstname - expected user firstname
|
||||
* @param {String} lastname - expected user lastname
|
||||
*/
|
||||
|
||||
@@ -19,7 +19,7 @@ Cypress.Commands.add('uiOpenProfileModal', (section = '') => {
|
||||
|
||||
Cypress.Commands.add('verifyAccountNameSettings', (firstname, lastname) => {
|
||||
// # Go to Profile
|
||||
cy.uiOpenProfileModal();
|
||||
cy.uiOpenProfileModal('Profile Settings');
|
||||
|
||||
// * Check name value
|
||||
cy.get('#nameDesc').should('have.text', `${firstname} ${lastname}`);
|
||||
|
||||
@@ -11,7 +11,7 @@ Cypress.Commands.add('uiCreateChannel', ({
|
||||
name = '',
|
||||
createBoard = false,
|
||||
}) => {
|
||||
cy.uiBrowseOrCreateChannel('Create New Channel').click();
|
||||
cy.uiBrowseOrCreateChannel('Create new channel').click();
|
||||
|
||||
cy.get('#new-channel-modal').should('be.visible');
|
||||
if (isPrivate) {
|
||||
|
||||
@@ -7,8 +7,8 @@ Cypress.Commands.add('uiCreateSidebarCategory', (categoryName = `category-${getR
|
||||
// # Click the New Category/Channel Dropdown button
|
||||
cy.uiGetLHSAddChannelButton().click();
|
||||
|
||||
// # Click the Create New Category dropdown item
|
||||
cy.get('.AddChannelDropdown').should('be.visible').contains('.MenuItem', 'Create New Category').click();
|
||||
// # Click the Create new category dropdown item
|
||||
cy.get('.AddChannelDropdown').should('be.visible').contains('.MenuItem', 'Create new category').click();
|
||||
|
||||
cy.findByRole('dialog', {name: 'Rename Category'}).should('be.visible').within(() => {
|
||||
// # Fill in the category name and click 'Create'
|
||||
|
||||
@@ -213,7 +213,7 @@ declare global {
|
||||
* @param {string} item - dropdown menu. If set, it will do click action.
|
||||
*
|
||||
* @example
|
||||
* cy.uiBrowseOrCreateChannel('Browse Channels');
|
||||
* cy.uiBrowseOrCreateChannel('Browse channels');
|
||||
*/
|
||||
uiBrowseOrCreateChannel(item: string): Chainable;
|
||||
|
||||
|
||||
@@ -788,7 +788,7 @@ declare global {
|
||||
updateChannelHeader(text: string): ChainableT<void>;
|
||||
|
||||
/**
|
||||
* Navigate to system console-PluginManagement from account settings
|
||||
* Navigate to system console-PluginManagement from profile settings
|
||||
*/
|
||||
checkRunLDAPSync: typeof checkRunLDAPSync;
|
||||
|
||||
|
||||
@@ -15,8 +15,6 @@ import {isCloudLicense} from 'utils/license_utils';
|
||||
|
||||
import {getCloudSubscription, getSubscriptionProduct} from 'mattermost-redux/selectors/entities/cloud';
|
||||
|
||||
import ExternalLink from 'components/external_link';
|
||||
|
||||
import DeleteWorkspaceModal from './delete_workspace_modal';
|
||||
|
||||
export default function DeleteWorkspaceCTA() {
|
||||
@@ -80,17 +78,15 @@ export default function DeleteWorkspaceCTA() {
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
<ExternalLink
|
||||
href=''
|
||||
location='delete_workspace_cta'
|
||||
className='cancelSubscriptionSection__contactUs'
|
||||
<button
|
||||
className='btn cancelSubscriptionSection__contactUs'
|
||||
onClick={handleOnClickDelete}
|
||||
>
|
||||
<FormattedMessage
|
||||
id='admin.billing.subscription.deleteWorkspaceSection.delete'
|
||||
defaultMessage='Delete Workspace'
|
||||
/>
|
||||
</ExternalLink>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -4167,11 +4167,11 @@
|
||||
"more_channels.join": "Join",
|
||||
"more_channels.joining": "Joining...",
|
||||
"more_channels.next": "Next",
|
||||
"more_channels.noMore": "No results for \"{text}\"",
|
||||
"more_channels.noMore": "No more channels to join",
|
||||
"more_channels.prev": "Previous",
|
||||
"more_channels.show_archived_channels": "Channel Type: Archived",
|
||||
"more_channels.show_public_channels": "Channel Type: Public",
|
||||
"more_channels.title": "Browse Channels",
|
||||
"more_channels.title": "More Channels",
|
||||
"more_channels.view": "View",
|
||||
"more_direct_channels.directchannel.deactivated": "{displayname} - Deactivated",
|
||||
"more_direct_channels.directchannel.you": "{displayname} (you)",
|
||||
|
||||
Ссылка в новой задаче
Block a user