access-to-admin-page.spec.ts 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. import { test, expect } from '@playwright/test';
  2. test('admin is successfully loaded', async({ page }) => {
  3. await page.goto('/admin');
  4. await expect(page.getByTestId('admin-home')).toBeVisible();
  5. await expect(page.getByTestId('admin-system-information-table')).toBeVisible();
  6. });
  7. test('admin/app is successfully loaded', async({ page }) => {
  8. await page.goto('/admin/app');
  9. await expect(page.getByTestId('admin-app-settings')).toBeVisible();
  10. // await expect(page.getByTestId('v5-page-migration')).toBeVisible();
  11. await expect(page.locator('#cbFileUpload')).toBeChecked();
  12. await expect(page.locator('#isQuestionnaireEnabled')).toBeChecked();
  13. await expect(page.locator('#isAppSiteUrlHashed')).not.toBeChecked();
  14. });
  15. test('admin/security is successfully loaded', async({ page }) => {
  16. await page.goto('/admin/security');
  17. await expect(page.getByTestId('admin-security')).toBeVisible();
  18. await expect(page.locator('#isShowRestrictedByOwner')).not.toBeChecked();
  19. await expect(page.locator('#isShowRestrictedByGroup')).not.toBeChecked();
  20. });
  21. test('admin/markdown is successfully loaded', async({ page }) => {
  22. await page.goto('/admin/markdown');
  23. await expect(page.getByTestId('admin-markdown')).toBeVisible();
  24. await expect(page.locator('#isEnabledLinebreaksInComments')).toBeChecked();
  25. });
  26. test('admin/customize is successfully loaded', async({ page }) => {
  27. await page.goto('/admin/customize');
  28. await expect(page.getByTestId('admin-customize')).toBeVisible();
  29. });
  30. test('admin/importer is successfully loaded', async({ page }) => {
  31. await page.goto('/admin/importer');
  32. await expect(page.getByTestId('admin-import-data')).toBeVisible();
  33. });
  34. test('admin/export is successfully loaded', async({ page }) => {
  35. await page.goto('/admin/export');
  36. await expect(page.getByTestId('admin-export-archive-data')).toBeVisible();
  37. });
  38. test('admin/notification is successfully loaded', async({ page }) => {
  39. await page.goto('/admin/notification');
  40. await expect(page.getByTestId('admin-notification')).toBeVisible();
  41. // wait for retrieving slack integration status
  42. await expect(page.getByTestId('slack-integration-list-item')).toBeVisible();
  43. });
  44. test('admin/slack-integration is successfully loaded', async({ page }) => {
  45. await page.goto('/admin/slack-integration');
  46. await expect(page.getByTestId('admin-slack-integration')).toBeVisible();
  47. await expect(page.locator('img.bot-difficulty-icon')).toHaveCount(3);
  48. await expect(page.locator('img.bot-difficulty-icon').first()).toBeVisible();
  49. });
  50. test('admin/slack-integration-legacy is successfully loaded', async({ page }) => {
  51. await page.goto('/admin/slack-integration-legacy');
  52. await expect(page.getByTestId('admin-slack-integration-legacy')).toBeVisible();
  53. });
  54. test('admin/users is successfully loaded', async({ page }) => {
  55. await page.goto('/admin/users');
  56. await expect(page.getByTestId('admin-users')).toBeVisible();
  57. await expect(page.getByTestId('user-table-tr').first()).toBeVisible();
  58. });
  59. test('admin/user-groups is successfully loaded', async({ page }) => {
  60. await page.goto('/admin/user-groups');
  61. await expect(page.getByTestId('admin-user-groups')).toBeVisible();
  62. await expect(page.getByTestId('grw-user-group-table').first()).toBeVisible();
  63. });
  64. test('admin/search is successfully loaded', async({ page }) => {
  65. await page.goto('/admin/search');
  66. await expect(page.getByTestId('admin-full-text-search')).toBeVisible();
  67. // Only successful in the local environment.
  68. // wait for connected
  69. // await expect(page.getByTestId('connection-status-badge-connected')).toBeVisible();
  70. });