Этот коммит содержится в:
Saturnino Abril
2023-06-14 07:56:23 +08:00
коммит произвёл GitHub
родитель bc66807acc
Коммит 16ad573979
13 изменённых файлов: 152 добавлений и 137 удалений

Просмотреть файл

@@ -438,6 +438,12 @@ Cypress.Commands.add('apiDisableTutorials', (userId) => {
name: 'drafts_tour_tip_showed',
value: '{"drafts_tour_tip_showed":true}',
},
{
user_id: userId,
category: 'app_bar',
name: 'channel_with_board_tip_showed',
value: '{"channel_with_board_tip_showed":true}',
},
];
return cy.apiSaveUserPreference(preferences, userId);

Просмотреть файл

@@ -16,6 +16,7 @@ interface SetupParam {
promoteNewUserAsAdmin?: boolean;
hideAdminTrialModal?: boolean;
userPrefix?: string;
userCreateAt?: number;
teamPrefix?: {name: string; displayName: string};
channelPrefix?: {name: string; displayName: string};
skipBoardsWelcomePage?: boolean;
@@ -26,6 +27,7 @@ function apiInitSetup(arg: SetupParam = {}): ChainableT<SetupResult> {
promoteNewUserAsAdmin = false,
hideAdminTrialModal = true,
userPrefix,
userCreateAt,
teamPrefix = {name: 'team', displayName: 'Team'},
channelPrefix = {name: 'channel', displayName: 'Channel'},
skipBoardsWelcomePage = true,
@@ -34,7 +36,7 @@ function apiInitSetup(arg: SetupParam = {}): ChainableT<SetupResult> {
return (cy.apiCreateTeam(teamPrefix.name, teamPrefix.displayName) as any).then(({team}) => {
// # Add public channel
return (cy.apiCreateChannel(team.id, channelPrefix.name, channelPrefix.displayName) as any).then(({channel}) => {
return (cy.apiCreateUser({prefix: userPrefix || (promoteNewUserAsAdmin ? 'admin' : 'user')}) as any).then(({user}) => {
return (cy.apiCreateUser({prefix: userPrefix || (promoteNewUserAsAdmin ? 'admin' : 'user'), createAt: userCreateAt}) as any).then(({user}) => {
if (promoteNewUserAsAdmin) {
(cy as any).apiPatchUserRoles(user.id, ['system_admin', 'system_user']);

Просмотреть файл

@@ -209,6 +209,7 @@ declare namespace Cypress {
apiCreateUser(options?: {
user?: Partial<UserProfile>;
prefix?: string;
createAt?: number;
bypassTutorial?: boolean;
showOnboarding?: boolean;
}): Chainable<{user: UserProfile}>;

Просмотреть файл

@@ -216,7 +216,7 @@ Cypress.Commands.add('apiCreateAdmin', () => {
});
});
function generateRandomUser(prefix = 'user') {
function generateRandomUser(prefix = 'user', createAt = 0) {
const randomId = getRandomId();
return {
@@ -226,18 +226,20 @@ function generateRandomUser(prefix = 'user') {
first_name: `First${randomId}`,
last_name: `Last${randomId}`,
nickname: `Nickname${randomId}`,
create_at: createAt,
};
}
Cypress.Commands.add('apiCreateUser', ({
prefix = 'user',
createAt = 0,
bypassTutorial = true,
hideActionsMenu = true,
hideOnboarding = true,
bypassWhatsNewModal = true,
user = null,
} = {}) => {
const newUser = user || generateRandomUser(prefix);
const newUser = user || generateRandomUser(prefix, createAt);
const createUserOption = {
headers: {'X-Requested-With': 'XMLHttpRequest'},

Просмотреть файл

@@ -24,6 +24,7 @@ declare namespace Cypress {
* @param {string} options.purpose - Channel's purpose
* @param {string} options.header - Channel's header
* @param {boolean} options.isNewSidebar) - the new sidebar has a different ui flow, set this setting to true to use that. Defaults to false.
* @param {string} options.createBoard) - Board template to create
*
* @example
* cy.uiCreateChannel({prefix: 'private-channel-', isPrivate: true, purpose: 'my private channel', header: 'my private header', isNewSidebar: false});

Просмотреть файл

@@ -9,7 +9,7 @@ Cypress.Commands.add('uiCreateChannel', ({
isPrivate = false,
purpose = '',
name = '',
createBoard = false,
createBoard = '',
}) => {
cy.uiBrowseOrCreateChannel('Create new channel').click();
@@ -30,8 +30,8 @@ Cypress.Commands.add('uiCreateChannel', ({
cy.findByTestId('add-board-to-channel-check').then((el) => {
if (el && !el.hasClass('checked')) {
el.click();
cy.get('#input_select-board-template').should('be.visible').click();
cy.get('.SelectTemplateMenu .MenuItem:contains(Roadmap) button').should('be.visible').click();
cy.get('.templates-selector').find('input').click({force: true});
cy.findByText(createBoard).scrollIntoView().should('be.visible').click({force: true});
}
});
}