forked from Ivasoft/mattermost-mobile
* Detox/E2E: Migrate to typescript * Add jest.config.js * Add moduleMapper to config.json * Add cookie jar to axios client, fix tsconfig.json and default_config.json * Take keyboard into consideration; clean test for now for this migration PR * Revert changes on path_builder * Attempt to fix dep issues * Update detox dep * Added missing @type dev dependencies * Fix dep order * Fix unit tests * Added dynamic year to email.ts
271 lines
9.3 KiB
JavaScript
271 lines
9.3 KiB
JavaScript
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
function getFullDialog(triggerId, webhookBaseUrl) {
|
|
return {
|
|
trigger_id: triggerId,
|
|
url: `${webhookBaseUrl}/dialog_submit`,
|
|
dialog: {
|
|
callback_id: 'somecallbackid',
|
|
title: 'Title for Full Dialog Test',
|
|
icon_url:
|
|
'http://www.mattermost.org/wp-content/uploads/2016/04/icon.png',
|
|
elements: [
|
|
{
|
|
display_name: 'Display Name',
|
|
name: 'realname',
|
|
type: 'text',
|
|
subtype: '',
|
|
default: 'default text',
|
|
placeholder: 'placeholder',
|
|
help_text:
|
|
'This a regular input in an interactive dialog triggered by a test integration.',
|
|
optional: false,
|
|
min_length: 0,
|
|
max_length: 0,
|
|
data_source: '',
|
|
options: null,
|
|
},
|
|
{
|
|
display_name: 'Email',
|
|
name: 'someemail',
|
|
type: 'text',
|
|
subtype: 'email',
|
|
default: '',
|
|
placeholder: 'placeholder@bladekick.com',
|
|
help_text:
|
|
'This a regular email input in an interactive dialog triggered by a test integration.',
|
|
optional: false,
|
|
min_length: 0,
|
|
max_length: 0,
|
|
data_source: '',
|
|
options: null,
|
|
},
|
|
{
|
|
display_name: 'Number',
|
|
name: 'somenumber',
|
|
type: 'text',
|
|
subtype: 'number',
|
|
default: '',
|
|
placeholder: '',
|
|
help_text: '',
|
|
optional: false,
|
|
min_length: 0,
|
|
max_length: 0,
|
|
data_source: '',
|
|
options: null,
|
|
},
|
|
{
|
|
display_name: 'Password',
|
|
name: 'somepassword',
|
|
type: 'text',
|
|
subtype: 'password',
|
|
default: 'p@ssW0rd',
|
|
placeholder: 'placeholder',
|
|
help_text:
|
|
'This a password input in an interactive dialog triggered by a test integration.',
|
|
optional: true,
|
|
min_length: 0,
|
|
max_length: 0,
|
|
data_source: '',
|
|
options: null,
|
|
},
|
|
{
|
|
display_name: 'Display Name Long Text Area',
|
|
name: 'realnametextarea',
|
|
type: 'textarea',
|
|
subtype: '',
|
|
default: '',
|
|
placeholder: 'placeholder',
|
|
help_text: '',
|
|
optional: true,
|
|
min_length: 5,
|
|
max_length: 100,
|
|
data_source: '',
|
|
options: null,
|
|
},
|
|
{
|
|
display_name: 'User Selector',
|
|
name: 'someuserselector',
|
|
type: 'select',
|
|
subtype: '',
|
|
default: '',
|
|
placeholder: 'Select a user...',
|
|
help_text: '',
|
|
optional: false,
|
|
min_length: 0,
|
|
max_length: 0,
|
|
data_source: 'users',
|
|
options: null,
|
|
},
|
|
{
|
|
display_name: 'Channel Selector',
|
|
name: 'somechannelselector',
|
|
type: 'select',
|
|
subtype: '',
|
|
default: '',
|
|
placeholder: 'Select a channel...',
|
|
help_text: 'Choose a channel from the list.',
|
|
optional: true,
|
|
min_length: 0,
|
|
max_length: 0,
|
|
data_source: 'channels',
|
|
options: null,
|
|
},
|
|
{
|
|
display_name: 'Option Selector',
|
|
name: 'someoptionselector',
|
|
type: 'select',
|
|
subtype: '',
|
|
default: '',
|
|
placeholder: 'Select an option...',
|
|
help_text: '',
|
|
optional: false,
|
|
min_length: 0,
|
|
max_length: 0,
|
|
data_source: '',
|
|
options: [
|
|
{
|
|
text: 'Option1',
|
|
value: 'opt1',
|
|
},
|
|
{
|
|
text: 'Option2',
|
|
value: 'opt2',
|
|
},
|
|
{
|
|
text: 'Option3',
|
|
value: 'opt3',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
display_name: 'Radio Option Selector',
|
|
name: 'someradiooptions',
|
|
type: 'radio',
|
|
help_text: '',
|
|
optional: false,
|
|
options: [
|
|
{
|
|
text: 'Engineering',
|
|
value: 'engineering',
|
|
},
|
|
{
|
|
text: 'Sales',
|
|
value: 'sales',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
display_name: 'Boolean Selector',
|
|
placeholder: 'Was this modal helpful?',
|
|
name: 'boolean_input',
|
|
type: 'bool',
|
|
default: 'True',
|
|
optional: true,
|
|
help_text: 'This is the help text',
|
|
},
|
|
],
|
|
submit_label: 'Submit',
|
|
notify_on_cancel: true,
|
|
state: 'somestate',
|
|
},
|
|
};
|
|
}
|
|
|
|
function getSimpleDialog(triggerId, webhookBaseUrl) {
|
|
return {
|
|
trigger_id: triggerId,
|
|
url: `${webhookBaseUrl}/dialog_submit`,
|
|
dialog: {
|
|
callback_id: 'somecallbackid',
|
|
title: 'Title for Dialog Test without elements',
|
|
icon_url:
|
|
'http://www.mattermost.org/wp-content/uploads/2016/04/icon.png',
|
|
submit_label: 'Submit Test',
|
|
notify_on_cancel: true,
|
|
state: 'somestate',
|
|
},
|
|
};
|
|
}
|
|
|
|
function getUserAndChannelDialog(triggerId, webhookBaseUrl) {
|
|
return {
|
|
trigger_id: triggerId,
|
|
url: `${webhookBaseUrl}/dialog_submit`,
|
|
dialog: {
|
|
callback_id: 'somecallbackid',
|
|
title: 'Title for Dialog Test with user and channel element',
|
|
icon_url:
|
|
'http://www.mattermost.org/wp-content/uploads/2016/04/icon.png',
|
|
submit_label: 'Submit Test',
|
|
notify_on_cancel: true,
|
|
state: 'somestate',
|
|
elements: [
|
|
{
|
|
display_name: 'User Selector',
|
|
name: 'someuserselector',
|
|
type: 'select',
|
|
subtype: '',
|
|
default: '',
|
|
placeholder: 'Select a user...',
|
|
help_text: '',
|
|
optional: false,
|
|
min_length: 0,
|
|
max_length: 0,
|
|
data_source: 'users',
|
|
options: null,
|
|
},
|
|
{
|
|
display_name: 'Channel Selector',
|
|
name: 'somechannelselector',
|
|
type: 'select',
|
|
subtype: '',
|
|
default: '',
|
|
placeholder: 'Select a channel...',
|
|
help_text: 'Choose a channel from the list.',
|
|
optional: true,
|
|
min_length: 0,
|
|
max_length: 0,
|
|
data_source: 'channels',
|
|
options: null,
|
|
},
|
|
],
|
|
},
|
|
};
|
|
}
|
|
|
|
function getBooleanDialog(triggerId, webhookBaseUrl) {
|
|
return {
|
|
trigger_id: triggerId,
|
|
url: `${webhookBaseUrl}/dialog_submit`,
|
|
dialog: {
|
|
callback_id: 'somecallbackid',
|
|
title: 'Title for Dialog Test with boolean element',
|
|
icon_url:
|
|
'http://www.mattermost.org/wp-content/uploads/2016/04/icon.png',
|
|
submit_label: 'Submit Test',
|
|
notify_on_cancel: true,
|
|
state: 'somestate',
|
|
elements: [
|
|
{
|
|
display_name: 'Boolean Selector',
|
|
placeholder: 'Was this modal helpful?',
|
|
name: 'boolean_input',
|
|
type: 'bool',
|
|
default: 'True',
|
|
optional: true,
|
|
help_text: 'This is the help text',
|
|
},
|
|
],
|
|
},
|
|
};
|
|
}
|
|
|
|
module.exports = {
|
|
getFullDialog,
|
|
getSimpleDialog,
|
|
getUserAndChannelDialog,
|
|
getBooleanDialog,
|
|
};
|