@mattermost/playwright-lib 10.6.1 → 10.7.0-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/dist/browser_context.js +14 -21
  2. package/dist/constant.js +3 -6
  3. package/dist/file.js +20 -20
  4. package/dist/flag.d.ts +2 -0
  5. package/dist/flag.js +49 -38
  6. package/dist/flag.js.map +1 -1
  7. package/dist/global_setup.d.ts +0 -2
  8. package/dist/global_setup.js +14 -71
  9. package/dist/global_setup.js.map +1 -1
  10. package/dist/index.js +9 -42
  11. package/dist/mock_browser_api.js +2 -8
  12. package/dist/server/channel.js +3 -9
  13. package/dist/server/client.js +10 -16
  14. package/dist/server/default_config.js +18 -17
  15. package/dist/server/default_config.js.map +1 -1
  16. package/dist/server/index.d.ts +1 -0
  17. package/dist/server/index.js +10 -0
  18. package/dist/server/init.js +29 -36
  19. package/dist/server/plugins.d.ts +2 -0
  20. package/dist/server/plugins.js +30 -0
  21. package/dist/server/plugins.js.map +1 -0
  22. package/dist/server/post.js +3 -9
  23. package/dist/server/team.js +3 -9
  24. package/dist/server/user.js +8 -15
  25. package/dist/test_action.js +3 -14
  26. package/dist/test_config.js +4 -30
  27. package/dist/test_fixture.d.ts +4 -2
  28. package/dist/test_fixture.js +51 -66
  29. package/dist/test_fixture.js.map +1 -1
  30. package/dist/tsconfig.tsbuildinfo +1 -0
  31. package/dist/types.js +3 -0
  32. package/dist/ui/components/channels/app_bar.js +3 -9
  33. package/dist/ui/components/channels/center_view.js +22 -28
  34. package/dist/ui/components/channels/delete_post_confirmation_dialog.js +8 -14
  35. package/dist/ui/components/channels/delete_post_modal.js +4 -10
  36. package/dist/ui/components/channels/emoji_gif_picker.js +9 -15
  37. package/dist/ui/components/channels/find_channels_modal.js +3 -9
  38. package/dist/ui/components/channels/generic_confirm_modal.js +5 -11
  39. package/dist/ui/components/channels/header.js +3 -9
  40. package/dist/ui/components/channels/message_priority.js +14 -20
  41. package/dist/ui/components/channels/post.js +10 -16
  42. package/dist/ui/components/channels/post_create.js +23 -29
  43. package/dist/ui/components/channels/post_dot_menu.js +3 -9
  44. package/dist/ui/components/channels/post_edit.js +16 -22
  45. package/dist/ui/components/channels/post_menu.js +3 -9
  46. package/dist/ui/components/channels/post_reminder_menu.js +3 -9
  47. package/dist/ui/components/channels/restore_post_confirmation_dialog.js +6 -12
  48. package/dist/ui/components/channels/scheduled_draft_menu.js +3 -9
  49. package/dist/ui/components/channels/scheduled_draft_modal.js +4 -10
  50. package/dist/ui/components/channels/search_popover.js +3 -9
  51. package/dist/ui/components/channels/settings/notification_settings.js +8 -14
  52. package/dist/ui/components/channels/settings/settings_modal.js +7 -13
  53. package/dist/ui/components/channels/sidebar_left.js +8 -14
  54. package/dist/ui/components/channels/sidebar_right.js +20 -26
  55. package/dist/ui/components/channels/thread_footer.js +3 -9
  56. package/dist/ui/components/channels/user_profile_popover.js +3 -9
  57. package/dist/ui/components/footer.js +3 -9
  58. package/dist/ui/components/global_header.d.ts +1 -0
  59. package/dist/ui/components/global_header.js +9 -13
  60. package/dist/ui/components/global_header.js.map +1 -1
  61. package/dist/ui/components/index.js +72 -74
  62. package/dist/ui/components/main_header.js +3 -9
  63. package/dist/ui/components/system_console/navbar.js +3 -9
  64. package/dist/ui/components/system_console/sections/system_users/column_toggle_menu.js +4 -10
  65. package/dist/ui/components/system_console/sections/system_users/feature_discovery.js +4 -10
  66. package/dist/ui/components/system_console/sections/system_users/filter_menu.js +3 -9
  67. package/dist/ui/components/system_console/sections/system_users/filter_popover.js +8 -14
  68. package/dist/ui/components/system_console/sections/system_users/mobile_security.js +3 -9
  69. package/dist/ui/components/system_console/sections/system_users/system_users.js +10 -16
  70. package/dist/ui/components/system_console/sidebar.js +4 -10
  71. package/dist/ui/pages/channels.js +18 -24
  72. package/dist/ui/pages/drafts.js +17 -23
  73. package/dist/ui/pages/index.js +17 -30
  74. package/dist/ui/pages/landing_login.js +5 -11
  75. package/dist/ui/pages/login.js +8 -14
  76. package/dist/ui/pages/reset_password.js +9 -15
  77. package/dist/ui/pages/scheduled_draft.js +19 -25
  78. package/dist/ui/pages/signup.js +11 -17
  79. package/dist/ui/pages/system_console.js +16 -22
  80. package/dist/util.js +8 -19
  81. package/dist/visual/index.js +14 -20
  82. package/dist/visual/percy.js +4 -10
  83. package/package.json +1 -1
@@ -1,19 +1,16 @@
1
- 'use strict';
2
-
3
- var test = require('@playwright/test');
4
-
5
1
  // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
6
2
  // See LICENSE.txt for license information.
3
+ import { expect } from '@playwright/test';
7
4
  /**
8
5
  * The dropdown menu which appears for both Role and Status filter.
9
6
  */
10
- class SystemUsersFilterMenu {
7
+ export default class SystemUsersFilterMenu {
11
8
  container;
12
9
  constructor(container) {
13
10
  this.container = container;
14
11
  }
15
12
  async toBeVisible() {
16
- await test.expect(this.container).toBeVisible();
13
+ await expect(this.container).toBeVisible();
17
14
  }
18
15
  /**
19
16
  * Return the locator for the menu item with the given name.
@@ -37,6 +34,3 @@ class SystemUsersFilterMenu {
37
34
  await this.container.press('Escape');
38
35
  }
39
36
  }
40
-
41
- module.exports = SystemUsersFilterMenu;
42
- //# sourceMappingURL=filter_menu.js.map
@@ -1,10 +1,7 @@
1
- 'use strict';
2
-
3
- var test = require('@playwright/test');
4
-
5
1
  // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
6
2
  // See LICENSE.txt for license information.
7
- class SystemUsersFilterPopover {
3
+ import { expect } from '@playwright/test';
4
+ export default class SystemUsersFilterPopover {
8
5
  container;
9
6
  teamMenuInput;
10
7
  roleMenuButton;
@@ -18,8 +15,8 @@ class SystemUsersFilterPopover {
18
15
  this.applyButton = this.container.getByText('Apply');
19
16
  }
20
17
  async toBeVisible() {
21
- await test.expect(this.container).toBeVisible();
22
- await test.expect(this.applyButton).toBeVisible();
18
+ await expect(this.container).toBeVisible();
19
+ await expect(this.applyButton).toBeVisible();
23
20
  }
24
21
  /**
25
22
  * Save the filter settings.
@@ -31,21 +28,21 @@ class SystemUsersFilterPopover {
31
28
  * Allows to type in the team filter for searching.
32
29
  */
33
30
  async searchInTeamMenu(teamDisplayName) {
34
- test.expect(this.teamMenuInput).toBeVisible();
31
+ expect(this.teamMenuInput).toBeVisible();
35
32
  await this.teamMenuInput.fill(teamDisplayName);
36
33
  }
37
34
  /**
38
35
  * Opens the role filter menu.
39
36
  */
40
37
  async openRoleMenu() {
41
- test.expect(this.roleMenuButton).toBeVisible();
38
+ expect(this.roleMenuButton).toBeVisible();
42
39
  await this.roleMenuButton.click();
43
40
  }
44
41
  /**
45
42
  * Opens the status filter menu.
46
43
  */
47
44
  async openStatusMenu() {
48
- test.expect(this.statusMenuButton).toBeVisible();
45
+ expect(this.statusMenuButton).toBeVisible();
49
46
  await this.statusMenuButton.click();
50
47
  }
51
48
  /**
@@ -53,9 +50,6 @@ class SystemUsersFilterPopover {
53
50
  */
54
51
  async close() {
55
52
  await this.container.press('Escape');
56
- await test.expect(this.container).not.toBeVisible();
53
+ await expect(this.container).not.toBeVisible();
57
54
  }
58
55
  }
59
-
60
- module.exports = SystemUsersFilterPopover;
61
- //# sourceMappingURL=filter_popover.js.map
@@ -1,13 +1,10 @@
1
- 'use strict';
2
-
3
- var test = require('@playwright/test');
4
-
5
1
  // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
6
2
  // See LICENSE.txt for license information.
3
+ import { expect } from '@playwright/test';
7
4
  /**
8
5
  * System Console -> Environment -> Mobile Security
9
6
  */
10
- class MobileSecurity {
7
+ export default class MobileSecurity {
11
8
  container;
12
9
  enableBiometricAuthenticationToggleTrue;
13
10
  enableBiometricAuthenticationToggleFalse;
@@ -27,7 +24,7 @@ class MobileSecurity {
27
24
  this.saveButton = this.container.getByRole('button', { name: 'Save' });
28
25
  }
29
26
  async toBeVisible() {
30
- await test.expect(this.container).toBeVisible();
27
+ await expect(this.container).toBeVisible();
31
28
  }
32
29
  async clickEnableBiometricAuthenticationToggleTrue() {
33
30
  await this.enableBiometricAuthenticationToggleTrue.click();
@@ -51,6 +48,3 @@ class MobileSecurity {
51
48
  await this.saveButton.click();
52
49
  }
53
50
  }
54
-
55
- module.exports = MobileSecurity;
56
- //# sourceMappingURL=mobile_security.js.map
@@ -1,13 +1,10 @@
1
- 'use strict';
2
-
3
- var test = require('@playwright/test');
4
-
5
1
  // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
6
2
  // See LICENSE.txt for license information.
3
+ import { expect } from '@playwright/test';
7
4
  /**
8
5
  * System Console -> User Management -> Users
9
6
  */
10
- class SystemUsers {
7
+ export default class SystemUsers {
11
8
  container;
12
9
  searchInput;
13
10
  saveRoleChange;
@@ -29,10 +26,10 @@ class SystemUsers {
29
26
  this.loadingSpinner = this.container.getByText('Loading');
30
27
  }
31
28
  async toBeVisible() {
32
- await test.expect(this.container).toBeVisible();
29
+ await expect(this.container).toBeVisible();
33
30
  }
34
31
  async isLoadingComplete() {
35
- await test.expect(this.loadingSpinner).toHaveCount(0);
32
+ await expect(this.loadingSpinner).toHaveCount(0);
36
33
  }
37
34
  /**
38
35
  * Returns the locator for the header of the given column.
@@ -68,28 +65,28 @@ class SystemUsers {
68
65
  * Opens the Filter popover
69
66
  */
70
67
  async openFilterPopover() {
71
- test.expect(this.filterPopoverButton).toBeVisible();
68
+ expect(this.filterPopoverButton).toBeVisible();
72
69
  await this.filterPopoverButton.click();
73
70
  }
74
71
  /**
75
72
  * Open the column toggle menu
76
73
  */
77
74
  async openColumnToggleMenu() {
78
- test.expect(this.columnToggleMenuButton).toBeVisible();
75
+ expect(this.columnToggleMenuButton).toBeVisible();
79
76
  await this.columnToggleMenuButton.click();
80
77
  }
81
78
  /**
82
79
  * Open the date range selector menu
83
80
  */
84
81
  async openDateRangeSelectorMenu() {
85
- test.expect(this.dateRangeSelectorMenuButton).toBeVisible();
82
+ expect(this.dateRangeSelectorMenuButton).toBeVisible();
86
83
  await this.dateRangeSelectorMenuButton.click();
87
84
  }
88
85
  /**
89
86
  * Enter the given search term in the search input
90
87
  */
91
88
  async enterSearchText(searchText) {
92
- test.expect(this.searchInput).toBeVisible();
89
+ expect(this.searchInput).toBeVisible();
93
90
  await this.searchInput.fill(`${searchText}`);
94
91
  await this.isLoadingComplete();
95
92
  }
@@ -99,16 +96,13 @@ class SystemUsers {
99
96
  async verifyRowWithTextIsFound(text) {
100
97
  const foundUser = this.container.getByText(text);
101
98
  await foundUser.waitFor();
102
- await test.expect(foundUser).toBeVisible();
99
+ await expect(foundUser).toBeVisible();
103
100
  }
104
101
  /**
105
102
  * Searches and verifies that the row with given text is not found
106
103
  */
107
104
  async verifyRowWithTextIsNotFound(text) {
108
105
  const foundUser = this.container.getByText(text);
109
- await test.expect(foundUser).not.toBeVisible();
106
+ await expect(foundUser).not.toBeVisible();
110
107
  }
111
108
  }
112
-
113
- module.exports = SystemUsers;
114
- //# sourceMappingURL=system_users.js.map
@@ -1,10 +1,7 @@
1
- 'use strict';
2
-
3
- var test = require('@playwright/test');
4
-
5
1
  // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
6
2
  // See LICENSE.txt for license information.
7
- class SystemConsoleSidebar {
3
+ import { expect } from '@playwright/test';
4
+ export default class SystemConsoleSidebar {
8
5
  container;
9
6
  searchInput;
10
7
  constructor(container) {
@@ -12,8 +9,8 @@ class SystemConsoleSidebar {
12
9
  this.searchInput = container.getByPlaceholder('Find settings');
13
10
  }
14
11
  async toBeVisible() {
15
- await test.expect(this.container).toBeVisible();
16
- await test.expect(this.searchInput).toBeVisible();
12
+ await expect(this.container).toBeVisible();
13
+ await expect(this.searchInput).toBeVisible();
17
14
  }
18
15
  /**
19
16
  * Clicks on the sidebar section link with the given name. Pass the exact name of the section.
@@ -32,6 +29,3 @@ class SystemConsoleSidebar {
32
29
  await this.searchInput.fill(itemName);
33
30
  }
34
31
  }
35
-
36
- module.exports = SystemConsoleSidebar;
37
- //# sourceMappingURL=sidebar.js.map
@@ -1,10 +1,7 @@
1
- 'use strict';
2
-
3
- var index = require('../components/index.js');
4
-
5
1
  // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
6
2
  // See LICENSE.txt for license information.
7
- class ChannelsPage {
3
+ import { components } from '@/ui/components';
4
+ export default class ChannelsPage {
8
5
  channels = 'Channels';
9
6
  page;
10
7
  globalHeader;
@@ -27,25 +24,25 @@ class ChannelsPage {
27
24
  constructor(page) {
28
25
  this.page = page;
29
26
  // The main areas of the app
30
- this.globalHeader = new index.components.GlobalHeader(page.locator('#global-header'));
31
- this.searchPopover = new index.components.SearchPopover(page.locator('#searchPopover'));
32
- this.centerView = new index.components.ChannelsCenterView(page.getByTestId('channel_view'));
33
- this.sidebarLeft = new index.components.ChannelsSidebarLeft(page.locator('#SidebarContainer'));
34
- this.sidebarRight = new index.components.ChannelsSidebarRight(page.locator('#sidebar-right'));
35
- this.appBar = new index.components.ChannelsAppBar(page.locator('.app-bar'));
36
- this.messagePriority = new index.components.MessagePriority(page.locator('body'));
27
+ this.globalHeader = new components.GlobalHeader(page.locator('#global-header'));
28
+ this.searchPopover = new components.SearchPopover(page.locator('#searchPopover'));
29
+ this.centerView = new components.ChannelsCenterView(page.getByTestId('channel_view'));
30
+ this.sidebarLeft = new components.ChannelsSidebarLeft(page.locator('#SidebarContainer'));
31
+ this.sidebarRight = new components.ChannelsSidebarRight(page.locator('#sidebar-right'));
32
+ this.appBar = new components.ChannelsAppBar(page.locator('.app-bar'));
33
+ this.messagePriority = new components.MessagePriority(page.locator('body'));
37
34
  // Modals
38
- this.findChannelsModal = new index.components.FindChannelsModal(page.getByRole('dialog', { name: 'Find Channels' }));
39
- this.deletePostModal = new index.components.DeletePostModal(page.locator('#deletePostModal'));
40
- this.settingsModal = new index.components.SettingsModal(page.getByRole('dialog', { name: 'Settings' }));
35
+ this.findChannelsModal = new components.FindChannelsModal(page.getByRole('dialog', { name: 'Find Channels' }));
36
+ this.deletePostModal = new components.DeletePostModal(page.locator('#deletePostModal'));
37
+ this.settingsModal = new components.SettingsModal(page.getByRole('dialog', { name: 'Settings' }));
41
38
  // Menus
42
- this.postDotMenu = new index.components.PostDotMenu(page.getByRole('menu', { name: 'Post extra options' }));
43
- this.postReminderMenu = new index.components.PostReminderMenu(page.getByRole('menu', { name: 'Set a reminder for:' }));
39
+ this.postDotMenu = new components.PostDotMenu(page.getByRole('menu', { name: 'Post extra options' }));
40
+ this.postReminderMenu = new components.PostReminderMenu(page.getByRole('menu', { name: 'Set a reminder for:' }));
44
41
  // Popovers
45
- this.emojiGifPickerPopup = new index.components.EmojiGifPicker(page.locator('#emojiGifPicker'));
46
- this.scheduledDraftDropdown = new index.components.ScheduledDraftMenu(page.locator('#dropdown_send_post_options'));
47
- this.scheduledDraftModal = new index.components.ScheduledDraftModal(page.locator('div.modal-content'));
48
- this.userProfilePopover = new index.components.UserProfilePopover(page.locator('.user-profile-popover'));
42
+ this.emojiGifPickerPopup = new components.EmojiGifPicker(page.locator('#emojiGifPicker'));
43
+ this.scheduledDraftDropdown = new components.ScheduledDraftMenu(page.locator('#dropdown_send_post_options'));
44
+ this.scheduledDraftModal = new components.ScheduledDraftModal(page.locator('div.modal-content'));
45
+ this.userProfilePopover = new components.UserProfilePopover(page.locator('.user-profile-popover'));
49
46
  // Posts
50
47
  this.postContainer = page.locator('div.post-message__text');
51
48
  }
@@ -74,6 +71,3 @@ class ChannelsPage {
74
71
  await this.centerView.postCreate.postMessage(message);
75
72
  }
76
73
  }
77
-
78
- module.exports = ChannelsPage;
79
- //# sourceMappingURL=channels.js.map
@@ -1,10 +1,7 @@
1
- 'use strict';
2
-
3
- var test = require('@playwright/test');
4
-
5
1
  // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
6
2
  // See LICENSE.txt for license information.
7
- class DraftPage {
3
+ import { expect } from '@playwright/test';
4
+ export default class DraftPage {
8
5
  page;
9
6
  badgeCountOnScheduledTab;
10
7
  confirmbutton;
@@ -42,15 +39,15 @@ class DraftPage {
42
39
  }
43
40
  async toBeVisible() {
44
41
  await this.page.waitForLoadState('networkidle');
45
- await test.expect(this.page).toHaveURL(/.*drafts/);
42
+ await expect(this.page).toHaveURL(/.*drafts/);
46
43
  }
47
44
  async assertBadgeCountOnTab(badgeCount) {
48
45
  await this.badgeCountOnScheduledTab.isVisible();
49
- await test.expect(this.badgeCountOnScheduledTab).toHaveText(badgeCount);
46
+ await expect(this.badgeCountOnScheduledTab).toHaveText(badgeCount);
50
47
  }
51
48
  async assertDraftBody(draftMessage) {
52
- await test.expect(this.draftBody).toBeVisible();
53
- await test.expect(this.draftBody).toHaveText(draftMessage);
49
+ await expect(this.draftBody).toBeVisible();
50
+ await expect(this.draftBody).toHaveText(draftMessage);
54
51
  }
55
52
  async verifyOnHoverActionItems(messageContent) {
56
53
  await this.scheduledDraftPanel(messageContent).isVisible();
@@ -62,21 +59,21 @@ class DraftPage {
62
59
  async verifyDeleteIcon() {
63
60
  await this.deleteIcon.isVisible();
64
61
  await this.deleteIcon.hover();
65
- await test.expect(this.deleteIconToolTip).toBeVisible();
66
- await test.expect(this.deleteIconToolTip).toHaveText('Delete scheduled post');
62
+ await expect(this.deleteIconToolTip).toBeVisible();
63
+ await expect(this.deleteIconToolTip).toHaveText('Delete scheduled post');
67
64
  }
68
65
  async verifyScheduleIcon(messageContent) {
69
66
  await this.scheduledDraftPanel(messageContent).hover();
70
- await test.expect(this.scheduleIcon).toBeVisible();
67
+ await expect(this.scheduleIcon).toBeVisible();
71
68
  await this.scheduleIcon.hover();
72
- await test.expect(this.rescheduleIconToolTip).toBeVisible();
73
- await test.expect(this.rescheduleIconToolTip).toHaveText('Schedule draft');
69
+ await expect(this.rescheduleIconToolTip).toBeVisible();
70
+ await expect(this.rescheduleIconToolTip).toHaveText('Schedule draft');
74
71
  }
75
72
  async verifySendNowIcon() {
76
73
  await this.scheduledDraftSendNowButton.isVisible();
77
74
  await this.scheduledDraftSendNowButton.hover();
78
- await test.expect(this.scheduledDraftSendNowButtonToolTip).toBeVisible();
79
- await test.expect(this.scheduledDraftSendNowButtonToolTip).toHaveText('Send now');
75
+ await expect(this.scheduledDraftSendNowButtonToolTip).toBeVisible();
76
+ await expect(this.scheduledDraftSendNowButtonToolTip).toHaveText('Send now');
80
77
  }
81
78
  async getTimeStampOfMessage(messageContent) {
82
79
  await this.scheduledDraftPanel(messageContent).scrollIntoViewIfNeeded();
@@ -88,8 +85,8 @@ class DraftPage {
88
85
  await this.scheduledDraftPanel(messageContent).isVisible();
89
86
  await this.scheduledDraftPanel(messageContent).hover();
90
87
  await this.scheduleIcon.hover();
91
- await test.expect(this.rescheduleIconToolTip).toBeVisible();
92
- await test.expect(this.rescheduleIconToolTip).toHaveText('Schedule draft');
88
+ await expect(this.rescheduleIconToolTip).toBeVisible();
89
+ await expect(this.rescheduleIconToolTip).toHaveText('Schedule draft');
93
90
  await this.scheduleIcon.click();
94
91
  }
95
92
  async deleteScheduledMessage(messageContent) {
@@ -97,7 +94,7 @@ class DraftPage {
97
94
  await this.scheduledDraftPanel(messageContent).hover();
98
95
  await this.verifyDeleteIcon();
99
96
  await this.deleteIcon.click();
100
- test.expect(await this.confirmbutton.textContent()).toEqual('Yes, delete');
97
+ expect(await this.confirmbutton.textContent()).toEqual('Yes, delete');
101
98
  await this.confirmbutton.click();
102
99
  }
103
100
  async sendScheduledMessage(messageContent) {
@@ -105,10 +102,7 @@ class DraftPage {
105
102
  await this.scheduledDraftPanel(messageContent).hover();
106
103
  await this.verifySendNowIcon();
107
104
  await this.scheduledDraftSendNowButton.click();
108
- test.expect(await this.confirmbutton.textContent()).toEqual('Yes, send now');
105
+ expect(await this.confirmbutton.textContent()).toEqual('Yes, send now');
109
106
  await this.confirmbutton.click();
110
107
  }
111
108
  }
112
-
113
- module.exports = DraftPage;
114
- //# sourceMappingURL=drafts.js.map
@@ -1,34 +1,21 @@
1
- 'use strict';
2
-
3
- var channels = require('./channels.js');
4
- var landing_login = require('./landing_login.js');
5
- var login = require('./login.js');
6
- var reset_password = require('./reset_password.js');
7
- var signup = require('./signup.js');
8
- var system_console = require('./system_console.js');
9
- var scheduled_draft = require('./scheduled_draft.js');
10
- var drafts = require('./drafts.js');
11
-
12
1
  // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
13
2
  // See LICENSE.txt for license information.
3
+ import ChannelsPage from './channels';
4
+ import LandingLoginPage from './landing_login';
5
+ import LoginPage from './login';
6
+ import ResetPasswordPage from './reset_password';
7
+ import SignupPage from './signup';
8
+ import SystemConsolePage from './system_console';
9
+ import ScheduledDraftPage from './scheduled_draft';
10
+ import DraftPage from './drafts';
14
11
  const pages = {
15
- ChannelsPage: channels,
16
- LandingLoginPage: landing_login,
17
- LoginPage: login,
18
- ResetPasswordPage: reset_password,
19
- SignupPage: signup,
20
- ScheduledDraftPage: scheduled_draft,
21
- SystemConsolePage: system_console,
22
- DraftPage: drafts,
12
+ ChannelsPage,
13
+ LandingLoginPage,
14
+ LoginPage,
15
+ ResetPasswordPage,
16
+ SignupPage,
17
+ ScheduledDraftPage,
18
+ SystemConsolePage,
19
+ DraftPage,
23
20
  };
24
-
25
- exports.ChannelsPage = channels;
26
- exports.LandingLoginPage = landing_login;
27
- exports.LoginPage = login;
28
- exports.ResetPasswordPage = reset_password;
29
- exports.SignupPage = signup;
30
- exports.SystemConsolePage = system_console;
31
- exports.ScheduledDraftPage = scheduled_draft;
32
- exports.DraftPage = drafts;
33
- exports.pages = pages;
34
- //# sourceMappingURL=index.js.map
21
+ export { pages, ChannelsPage, LandingLoginPage, LoginPage, ResetPasswordPage, SignupPage, ScheduledDraftPage, SystemConsolePage, DraftPage, };
@@ -1,10 +1,7 @@
1
- 'use strict';
2
-
3
- var test = require('@playwright/test');
4
-
5
1
  // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
6
2
  // See LICENSE.txt for license information.
7
- class LandingLoginPage {
3
+ import { expect } from '@playwright/test';
4
+ export default class LandingLoginPage {
8
5
  page;
9
6
  isMobile;
10
7
  viewInAppButton;
@@ -20,17 +17,14 @@ class LandingLoginPage {
20
17
  async toBeVisible() {
21
18
  await this.page.waitForLoadState('networkidle');
22
19
  if (this.isMobile) {
23
- await test.expect(this.viewInAppButton).toBeVisible();
20
+ await expect(this.viewInAppButton).toBeVisible();
24
21
  }
25
22
  else {
26
- await test.expect(this.viewInDesktopAppButton).toBeVisible();
23
+ await expect(this.viewInDesktopAppButton).toBeVisible();
27
24
  }
28
- await test.expect(this.viewInBrowserButton).toBeVisible();
25
+ await expect(this.viewInBrowserButton).toBeVisible();
29
26
  }
30
27
  async goto() {
31
28
  await this.page.goto('/landing#/login');
32
29
  }
33
30
  }
34
-
35
- module.exports = LandingLoginPage;
36
- //# sourceMappingURL=landing_login.js.map
@@ -1,11 +1,8 @@
1
- 'use strict';
2
-
3
- var test = require('@playwright/test');
4
- var index = require('../components/index.js');
5
-
6
1
  // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
7
2
  // See LICENSE.txt for license information.
8
- class LoginPage {
3
+ import { expect } from '@playwright/test';
4
+ import { components } from '@/ui/components';
5
+ export default class LoginPage {
9
6
  page;
10
7
  title;
11
8
  subtitle;
@@ -39,14 +36,14 @@ class LoginPage {
39
36
  this.userErrorLabel = page.locator('text=Please enter your email or username');
40
37
  this.fieldWithError = page.locator('.with-error');
41
38
  this.formContainer = page.locator('.signup-team__container');
42
- this.header = new index.components.MainHeader(page.locator('.hfroute-header'));
43
- this.footer = new index.components.Footer(page.locator('.hfroute-footer'));
39
+ this.header = new components.MainHeader(page.locator('.hfroute-header'));
40
+ this.footer = new components.Footer(page.locator('.hfroute-footer'));
44
41
  }
45
42
  async toBeVisible() {
46
43
  await this.page.waitForLoadState('networkidle');
47
- await test.expect(this.title).toBeVisible();
48
- await test.expect(this.loginInput).toBeVisible();
49
- await test.expect(this.passwordInput).toBeVisible();
44
+ await expect(this.title).toBeVisible();
45
+ await expect(this.loginInput).toBeVisible();
46
+ await expect(this.passwordInput).toBeVisible();
50
47
  }
51
48
  async goto() {
52
49
  await this.page.goto('/login');
@@ -57,6 +54,3 @@ class LoginPage {
57
54
  await Promise.all([this.page.waitForNavigation(), this.signInButton.click()]);
58
55
  }
59
56
  }
60
-
61
- module.exports = LoginPage;
62
- //# sourceMappingURL=login.js.map
@@ -1,11 +1,8 @@
1
- 'use strict';
2
-
3
- var test = require('@playwright/test');
4
- var index = require('../components/index.js');
5
-
6
1
  // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
7
2
  // See LICENSE.txt for license information.
8
- class ResetPasswordPage {
3
+ import { expect } from '@playwright/test';
4
+ import { components } from '@/ui/components';
5
+ export default class ResetPasswordPage {
9
6
  page;
10
7
  title;
11
8
  subtitle;
@@ -21,15 +18,15 @@ class ResetPasswordPage {
21
18
  this.emailInput = page.locator(`[placeholder="Email"]`);
22
19
  this.resetButton = page.locator('#passwordResetButton');
23
20
  this.formContainer = page.locator('.signup-team__container');
24
- this.header = new index.components.MainHeader(page.locator('.signup-header'));
25
- this.footer = new index.components.Footer(page.locator('#footer_section'));
21
+ this.header = new components.MainHeader(page.locator('.signup-header'));
22
+ this.footer = new components.Footer(page.locator('#footer_section'));
26
23
  }
27
24
  async toBeVisible() {
28
25
  await this.page.waitForLoadState('networkidle');
29
- await test.expect(this.title).toBeVisible();
30
- await test.expect(this.subtitle).toBeVisible();
31
- await test.expect(this.emailInput).toBeVisible();
32
- await test.expect(this.resetButton).toBeVisible();
26
+ await expect(this.title).toBeVisible();
27
+ await expect(this.subtitle).toBeVisible();
28
+ await expect(this.emailInput).toBeVisible();
29
+ await expect(this.resetButton).toBeVisible();
33
30
  }
34
31
  async goto() {
35
32
  await this.page.goto('/reset_password');
@@ -39,6 +36,3 @@ class ResetPasswordPage {
39
36
  await Promise.all([this.page.waitForNavigation(), this.resetButton.click()]);
40
37
  }
41
38
  }
42
-
43
- module.exports = ResetPasswordPage;
44
- //# sourceMappingURL=reset_password.js.map
@@ -1,10 +1,7 @@
1
- 'use strict';
2
-
3
- var test = require('@playwright/test');
4
-
5
1
  // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
6
2
  // See LICENSE.txt for license information.
7
- class ScheduledDraftPage {
3
+ import { expect } from '@playwright/test';
4
+ export default class ScheduledDraftPage {
8
5
  page;
9
6
  badgeCountOnScheduledTab;
10
7
  confirmbutton;
@@ -48,15 +45,15 @@ class ScheduledDraftPage {
48
45
  }
49
46
  async toBeVisible() {
50
47
  await this.page.waitForLoadState('networkidle');
51
- await test.expect(this.page).toHaveURL(/.*scheduled_posts/);
48
+ await expect(this.page).toHaveURL(/.*scheduled_posts/);
52
49
  }
53
50
  async assertBadgeCountOnTab(badgeCount) {
54
51
  await this.badgeCountOnScheduledTab.isVisible();
55
- await test.expect(this.badgeCountOnScheduledTab).toHaveText(badgeCount);
52
+ await expect(this.badgeCountOnScheduledTab).toHaveText(badgeCount);
56
53
  }
57
54
  async assertscheduledDraftBody(draftMessage) {
58
- await test.expect(this.scheduledDraftBody).toBeVisible();
59
- await test.expect(this.scheduledDraftBody).toHaveText(draftMessage);
55
+ await expect(this.scheduledDraftBody).toBeVisible();
56
+ await expect(this.scheduledDraftBody).toHaveText(draftMessage);
60
57
  }
61
58
  async verifyOnHoverActionItems(messageContent) {
62
59
  await this.scheduledDraftPanel(messageContent).isVisible();
@@ -69,26 +66,26 @@ class ScheduledDraftPage {
69
66
  async verifyDeleteIcon() {
70
67
  await this.deleteIcon.isVisible();
71
68
  await this.deleteIcon.hover();
72
- await test.expect(this.deleteIconToolTip).toBeVisible();
73
- await test.expect(this.deleteIconToolTip).toHaveText('Delete scheduled post');
69
+ await expect(this.deleteIconToolTip).toBeVisible();
70
+ await expect(this.deleteIconToolTip).toHaveText('Delete scheduled post');
74
71
  }
75
72
  async verifyCopyIcon() {
76
73
  await this.copyIcon.isVisible();
77
74
  await this.copyIcon.hover();
78
- await test.expect(this.copyIconToolTip).toBeVisible();
79
- await test.expect(this.copyIconToolTip).toHaveText('Copy text');
75
+ await expect(this.copyIconToolTip).toBeVisible();
76
+ await expect(this.copyIconToolTip).toHaveText('Copy text');
80
77
  }
81
78
  async verifyRescheduleIcon() {
82
- await test.expect(this.rescheduleIcon).toBeVisible();
79
+ await expect(this.rescheduleIcon).toBeVisible();
83
80
  await this.rescheduleIcon.hover();
84
- await test.expect(this.rescheduleIconToolTip).toBeVisible();
85
- await test.expect(this.rescheduleIconToolTip).toHaveText('Reschedule post');
81
+ await expect(this.rescheduleIconToolTip).toBeVisible();
82
+ await expect(this.rescheduleIconToolTip).toHaveText('Reschedule post');
86
83
  }
87
84
  async verifySendNowIcon() {
88
85
  await this.scheduledDraftSendNowButton.isVisible();
89
86
  await this.scheduledDraftSendNowButton.hover();
90
- await test.expect(this.scheduledDraftSendNowButtonToolTip).toBeVisible();
91
- await test.expect(this.scheduledDraftSendNowButtonToolTip).toHaveText('Send now');
87
+ await expect(this.scheduledDraftSendNowButtonToolTip).toBeVisible();
88
+ await expect(this.scheduledDraftSendNowButtonToolTip).toHaveText('Send now');
92
89
  }
93
90
  async getTimeStampOfMessage(messageContent) {
94
91
  await this.scheduledDraftPanel(messageContent).scrollIntoViewIfNeeded();
@@ -100,8 +97,8 @@ class ScheduledDraftPage {
100
97
  await this.scheduledDraftPanel(messageContent).isVisible();
101
98
  await this.scheduledDraftPanel(messageContent).hover();
102
99
  await this.rescheduleIcon.hover();
103
- await test.expect(this.rescheduleIconToolTip).toBeVisible();
104
- await test.expect(this.rescheduleIconToolTip).toHaveText('Reschedule post');
100
+ await expect(this.rescheduleIconToolTip).toBeVisible();
101
+ await expect(this.rescheduleIconToolTip).toHaveText('Reschedule post');
105
102
  await this.rescheduleIcon.click();
106
103
  }
107
104
  async deleteScheduledMessage(messageContent) {
@@ -109,7 +106,7 @@ class ScheduledDraftPage {
109
106
  await this.scheduledDraftPanel(messageContent).hover();
110
107
  await this.verifyDeleteIcon();
111
108
  await this.deleteIcon.click();
112
- test.expect(await this.confirmbutton.textContent()).toEqual('Yes, delete');
109
+ expect(await this.confirmbutton.textContent()).toEqual('Yes, delete');
113
110
  await this.confirmbutton.click();
114
111
  }
115
112
  async sendScheduledMessage(messageContent) {
@@ -117,7 +114,7 @@ class ScheduledDraftPage {
117
114
  await this.scheduledDraftPanel(messageContent).hover();
118
115
  await this.verifySendNowIcon();
119
116
  await this.scheduledDraftSendNowButton.click();
120
- test.expect(await this.confirmbutton.textContent()).toEqual('Yes, send now');
117
+ expect(await this.confirmbutton.textContent()).toEqual('Yes, send now');
121
118
  await this.confirmbutton.click();
122
119
  }
123
120
  async goTo(teamName) {
@@ -139,6 +136,3 @@ class ScheduledDraftPage {
139
136
  await this.copyIcon.click();
140
137
  }
141
138
  }
142
-
143
- module.exports = ScheduledDraftPage;
144
- //# sourceMappingURL=scheduled_draft.js.map