chore: improve omnichannel tests reliability (#29572)

Co-authored-by: Guilherme Gazzo <guilhermegazzo@gmail.com>
pull/29406/head^2
Aleksander Nicacio da Silva 3 years ago committed by GitHub
parent 28d207f0bb
commit e22dfc15ef
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      apps/meteor/tests/e2e/omnichannel/omnichannel-agents.spec.ts
  2. 10
      apps/meteor/tests/e2e/omnichannel/omnichannel-auto-onhold-chat-closing.spec.ts
  3. 10
      apps/meteor/tests/e2e/omnichannel/omnichannel-auto-transfer-unanswered-chat.spec.ts
  4. 10
      apps/meteor/tests/e2e/omnichannel/omnichannel-canned-responses-sidebar.spec.ts
  5. 14
      apps/meteor/tests/e2e/omnichannel/omnichannel-changing-room-priority-and-sla.spec.ts
  6. 8
      apps/meteor/tests/e2e/omnichannel/omnichannel-chat-history.spec.ts
  7. 8
      apps/meteor/tests/e2e/omnichannel/omnichannel-close-chat.spec.ts
  8. 8
      apps/meteor/tests/e2e/omnichannel/omnichannel-close-inquiry.spec.ts
  9. 16
      apps/meteor/tests/e2e/omnichannel/omnichannel-contact-center.spec.ts
  10. 8
      apps/meteor/tests/e2e/omnichannel/omnichannel-contact-info.spec.ts
  11. 4
      apps/meteor/tests/e2e/omnichannel/omnichannel-currentChats.spec.ts
  12. 6
      apps/meteor/tests/e2e/omnichannel/omnichannel-custom-fields.spec.ts
  13. 8
      apps/meteor/tests/e2e/omnichannel/omnichannel-departaments-ce.spec.ts
  14. 8
      apps/meteor/tests/e2e/omnichannel/omnichannel-departaments.spec.ts
  15. 8
      apps/meteor/tests/e2e/omnichannel/omnichannel-livechat.spec.ts
  16. 6
      apps/meteor/tests/e2e/omnichannel/omnichannel-manager.spec.ts
  17. 8
      apps/meteor/tests/e2e/omnichannel/omnichannel-priorities.spec.ts
  18. 10
      apps/meteor/tests/e2e/omnichannel/omnichannel-send-transcript.spec.ts
  19. 12
      apps/meteor/tests/e2e/omnichannel/omnichannel-sla-policies.spec.ts
  20. 8
      apps/meteor/tests/e2e/omnichannel/omnichannel-takeChat.spec.ts
  21. 14
      apps/meteor/tests/e2e/omnichannel/omnichannel-transfer-to-another-agents.spec.ts
  22. 8
      apps/meteor/tests/e2e/omnichannel/omnichannel-triggers.spec.ts
  23. 2
      apps/meteor/tests/e2e/page-objects/omnichannel-triggers.ts

@ -1,6 +1,6 @@
import { Users } from './fixtures/userStates';
import { OmnichannelAgents } from './page-objects';
import { test, expect } from './utils/test';
import { Users } from '../fixtures/userStates';
import { OmnichannelAgents } from '../page-objects';
import { test, expect } from '../utils/test';
test.use({ storageState: Users.admin.state });

@ -1,11 +1,11 @@
import { faker } from '@faker-js/faker';
import type { Page } from '@playwright/test';
import { IS_EE } from './config/constants';
import { createAuxContext } from './fixtures/createAuxContext';
import { Users } from './fixtures/userStates';
import { OmnichannelLiveChat, HomeChannel } from './page-objects';
import { test, expect } from './utils/test';
import { IS_EE } from '../config/constants';
import { createAuxContext } from '../fixtures/createAuxContext';
import { Users } from '../fixtures/userStates';
import { OmnichannelLiveChat, HomeChannel } from '../page-objects';
import { test, expect } from '../utils/test';
test.describe('omnichannel-auto-onhold-chat-closing', () => {
test.skip(!IS_EE, 'Enterprise Only');

@ -1,11 +1,11 @@
import { faker } from '@faker-js/faker';
import type { Page } from '@playwright/test';
import { IS_EE } from './config/constants';
import { createAuxContext } from './fixtures/createAuxContext';
import { Users } from './fixtures/userStates';
import { OmnichannelLiveChat, HomeChannel } from './page-objects';
import { test, expect } from './utils/test';
import { IS_EE } from '../config/constants';
import { createAuxContext } from '../fixtures/createAuxContext';
import { Users } from '../fixtures/userStates';
import { OmnichannelLiveChat, HomeChannel } from '../page-objects';
import { test, expect } from '../utils/test';
test.describe('omnichannel-auto-transfer-unanswered-chat', () => {
test.skip(!IS_EE, 'Enterprise Only');

@ -1,11 +1,11 @@
import { faker } from '@faker-js/faker';
import type { Page } from '@playwright/test';
import { IS_EE } from './config/constants';
import { createAuxContext } from './fixtures/createAuxContext';
import { Users } from './fixtures/userStates';
import { OmnichannelLiveChat, HomeChannel } from './page-objects';
import { test } from './utils/test';
import { IS_EE } from '../config/constants';
import { createAuxContext } from '../fixtures/createAuxContext';
import { Users } from '../fixtures/userStates';
import { OmnichannelLiveChat, HomeChannel } from '../page-objects';
import { test } from '../utils/test';
test.describe('Omnichannel Canned Responses Sidebar', () => {
test.skip(!IS_EE, 'Enterprise Only');

@ -1,13 +1,13 @@
import { faker } from '@faker-js/faker';
import type { Page } from '@playwright/test';
import { ADMIN_CREDENTIALS, IS_EE } from './config/constants';
import { createAuxContext } from './fixtures/createAuxContext';
import { Users } from './fixtures/userStates';
import { OmnichannelLiveChat, HomeChannel } from './page-objects';
import { getPriorityByi18nLabel } from './utils/omnichannel/priority';
import { createSLA } from './utils/omnichannel/sla';
import { test, expect } from './utils/test';
import { ADMIN_CREDENTIALS, IS_EE } from '../config/constants';
import { createAuxContext } from '../fixtures/createAuxContext';
import { Users } from '../fixtures/userStates';
import { OmnichannelLiveChat, HomeChannel } from '../page-objects';
import { getPriorityByi18nLabel } from '../utils/omnichannel/priority';
import { createSLA } from '../utils/omnichannel/sla';
import { test, expect } from '../utils/test';
const getRoomId = (page: Page): string => {
// url is of the form: http://localhost:3000/live/:rid/room-info

@ -1,10 +1,10 @@
import { faker } from '@faker-js/faker';
import type { Page } from '@playwright/test';
import { createAuxContext } from './fixtures/createAuxContext';
import { Users } from './fixtures/userStates';
import { OmnichannelLiveChat, HomeOmnichannel } from './page-objects';
import { test, expect } from './utils/test';
import { createAuxContext } from '../fixtures/createAuxContext';
import { Users } from '../fixtures/userStates';
import { OmnichannelLiveChat, HomeOmnichannel } from '../page-objects';
import { test, expect } from '../utils/test';
test.describe('Omnichannel chat histr', () => {
let poLiveChat: OmnichannelLiveChat;

@ -1,10 +1,10 @@
import { faker } from '@faker-js/faker';
import type { Page } from '@playwright/test';
import { createAuxContext } from './fixtures/createAuxContext';
import { Users } from './fixtures/userStates';
import { OmnichannelLiveChat, HomeOmnichannel } from './page-objects';
import { test, expect } from './utils/test';
import { createAuxContext } from '../fixtures/createAuxContext';
import { Users } from '../fixtures/userStates';
import { OmnichannelLiveChat, HomeOmnichannel } from '../page-objects';
import { test, expect } from '../utils/test';
test.describe('Omnichannel close chat', () => {
let poLiveChat: OmnichannelLiveChat;

@ -1,10 +1,10 @@
import { faker } from '@faker-js/faker';
import type { Page } from '@playwright/test';
import { createAuxContext } from './fixtures/createAuxContext';
import { Users } from './fixtures/userStates';
import { OmnichannelLiveChat, HomeOmnichannel } from './page-objects';
import { test, expect } from './utils/test';
import { createAuxContext } from '../fixtures/createAuxContext';
import { Users } from '../fixtures/userStates';
import { OmnichannelLiveChat, HomeOmnichannel } from '../page-objects';
import { test, expect } from '../utils/test';
test.describe('Omnichannel close inquiry', () => {
let poLiveChat: OmnichannelLiveChat;

@ -1,11 +1,11 @@
import { faker } from '@faker-js/faker';
import { createToken } from '../../client/lib/utils/createToken';
import { IS_EE } from './config/constants';
import { Users } from './fixtures/userStates';
import { OmnichannelContacts } from './page-objects/omnichannel-contacts-list';
import { OmnichannelSection } from './page-objects/omnichannel-section';
import { test, expect } from './utils/test';
import { createToken } from '../../../client/lib/utils/createToken';
import { IS_EE } from '../config/constants';
import { Users } from '../fixtures/userStates';
import { OmnichannelContacts } from '../page-objects/omnichannel-contacts-list';
import { OmnichannelSection } from '../page-objects/omnichannel-section';
import { test, expect } from '../utils/test';
const createContact = (generateToken = false) => ({
id: null,
@ -28,7 +28,7 @@ const NEW_CUSTOM_FIELD = {
visibility: 'hidden',
required: true,
regexp: '',
}
};
const URL = {
contactCenter: '/omnichannel-directory/contacts',
@ -58,7 +58,7 @@ test.describe('Omnichannel Contact Center', () => {
// Add a contact
const { id: _, ...data } = EXISTING_CONTACT;
await api.post('/omnichannel/contact', data);
if (IS_EE) {
await api.post('/livechat/custom.field', NEW_CUSTOM_FIELD);
}

@ -1,10 +1,10 @@
import { faker } from '@faker-js/faker';
import type { Page } from '@playwright/test';
import { createAuxContext } from './fixtures/createAuxContext';
import { Users } from './fixtures/userStates';
import { OmnichannelLiveChat, HomeChannel } from './page-objects';
import { test } from './utils/test';
import { createAuxContext } from '../fixtures/createAuxContext';
import { Users } from '../fixtures/userStates';
import { OmnichannelLiveChat, HomeChannel } from '../page-objects';
import { test } from '../utils/test';
test.describe('Omnichannel contact info', () => {
let poLiveChat: OmnichannelLiveChat;

@ -1,7 +1,7 @@
import { test, expect } from '@playwright/test';
import { Users } from './fixtures/userStates';
import { OmnichannelCurrentChats } from './page-objects';
import { Users } from '../fixtures/userStates';
import { OmnichannelCurrentChats } from '../page-objects';
test.use({ storageState: Users.admin.state });

@ -1,6 +1,6 @@
import { Users } from './fixtures/userStates';
import { OmnichannelCustomFields } from './page-objects';
import { test, expect } from './utils/test';
import { Users } from '../fixtures/userStates';
import { OmnichannelCustomFields } from '../page-objects';
import { test, expect } from '../utils/test';
test.use({ storageState: Users.admin.state });

@ -1,10 +1,10 @@
import { faker } from '@faker-js/faker';
import type { Page } from '@playwright/test';
import { IS_EE } from './config/constants';
import { Users } from './fixtures/userStates';
import { OmnichannelDepartments } from './page-objects';
import { test, expect } from './utils/test';
import { IS_EE } from '../config/constants';
import { Users } from '../fixtures/userStates';
import { OmnichannelDepartments } from '../page-objects';
import { test, expect } from '../utils/test';
test.use({ storageState: Users.admin.state });

@ -1,10 +1,10 @@
import { faker } from '@faker-js/faker';
import type { Page } from '@playwright/test';
import { IS_EE } from './config/constants';
import { Users } from './fixtures/userStates';
import { OmnichannelDepartments } from './page-objects';
import { test, expect } from './utils/test';
import { IS_EE } from '../config/constants';
import { Users } from '../fixtures/userStates';
import { OmnichannelDepartments } from '../page-objects';
import { test, expect } from '../utils/test';
const ERROR = {
requiredName: 'The field name is required.',

@ -1,10 +1,10 @@
import { faker } from '@faker-js/faker';
import type { Page } from '@playwright/test';
import { createAuxContext } from './fixtures/createAuxContext';
import { Users } from './fixtures/userStates';
import { HomeOmnichannel, OmnichannelLiveChat } from './page-objects';
import { test, expect } from './utils/test';
import { createAuxContext } from '../fixtures/createAuxContext';
import { Users } from '../fixtures/userStates';
import { HomeOmnichannel, OmnichannelLiveChat } from '../page-objects';
import { test, expect } from '../utils/test';
const newUser = {
name: `${faker.person.firstName()} ${faker.string.uuid()}}`,

@ -1,6 +1,6 @@
import { Users } from './fixtures/userStates';
import { OmnichannelManager } from './page-objects';
import { test, expect } from './utils/test';
import { Users } from '../fixtures/userStates';
import { OmnichannelManager } from '../page-objects';
import { test, expect } from '../utils/test';
test.use({ storageState: Users.admin.state });

@ -1,9 +1,9 @@
import { faker } from '@faker-js/faker';
import { IS_EE } from './config/constants';
import { Users } from './fixtures/userStates';
import { OmnichannelPriorities } from './page-objects/omnichannel-priorities';
import { test, expect } from './utils/test';
import { IS_EE } from '../config/constants';
import { Users } from '../fixtures/userStates';
import { OmnichannelPriorities } from '../page-objects/omnichannel-priorities';
import { test, expect } from '../utils/test';
const PRIORITY_NAME = faker.person.firstName();

@ -1,11 +1,11 @@
import { faker } from '@faker-js/faker';
import type { Page } from '@playwright/test';
import { IS_EE } from './config/constants';
import { createAuxContext } from './fixtures/createAuxContext';
import { Users } from './fixtures/userStates';
import { OmnichannelLiveChat, HomeChannel } from './page-objects';
import { test, expect } from './utils/test';
import { IS_EE } from '../config/constants';
import { createAuxContext } from '../fixtures/createAuxContext';
import { Users } from '../fixtures/userStates';
import { OmnichannelLiveChat, HomeChannel } from '../page-objects';
import { test, expect } from '../utils/test';
test.describe('omnichannel-transcript', () => {
let poLiveChat: OmnichannelLiveChat;

@ -1,9 +1,9 @@
import { faker } from '@faker-js/faker';
import { IS_EE } from './config/constants';
import { Users } from './fixtures/userStates';
import { OmnichannelSlaPolicies } from './page-objects/omnichannel-sla-policies';
import { test, expect } from './utils/test';
import { IS_EE } from '../config/constants';
import { Users } from '../fixtures/userStates';
import { OmnichannelSlaPolicies } from '../page-objects/omnichannel-sla-policies';
import { test, expect } from '../utils/test';
const ERROR = {
nameRequired: 'The field Name is required.',
@ -13,13 +13,13 @@ const ERROR = {
const INITIAL_SLA = {
name: faker.person.firstName(),
description: faker.lorem.sentence(),
estimatedWaitTime: faker.string.numeric(),
estimatedWaitTime: faker.string.numeric({ length: 1, exclude: '0' }),
};
const EDITED_SLA = {
name: faker.person.firstName(),
description: faker.lorem.sentence(),
estimatedWaitTime: faker.string.numeric(),
estimatedWaitTime: faker.string.numeric({ length: 1, exclude: '0' }),
};
test.skip(!IS_EE, 'Omnichannel SLA Policies > Enterprise Only');

@ -1,10 +1,10 @@
import { faker } from '@faker-js/faker';
import type { Page } from '@playwright/test';
import { createAuxContext } from './fixtures/createAuxContext';
import { Users } from './fixtures/userStates';
import { OmnichannelLiveChat, HomeChannel } from './page-objects';
import { test, expect } from './utils/test';
import { createAuxContext } from '../fixtures/createAuxContext';
import { Users } from '../fixtures/userStates';
import { OmnichannelLiveChat, HomeChannel } from '../page-objects';
import { test, expect } from '../utils/test';
test.describe('omnichannel-takeChat', () => {
let poLiveChat: OmnichannelLiveChat;

@ -1,10 +1,10 @@
import { faker } from '@faker-js/faker';
import type { Page } from '@playwright/test';
import { createAuxContext } from './fixtures/createAuxContext';
import { Users } from './fixtures/userStates';
import { OmnichannelLiveChat, HomeOmnichannel } from './page-objects';
import { test, expect } from './utils/test';
import { createAuxContext } from '../fixtures/createAuxContext';
import { Users } from '../fixtures/userStates';
import { OmnichannelLiveChat, HomeOmnichannel } from '../page-objects';
import { test, expect } from '../utils/test';
test.describe('omnichannel-transfer-to-another-agent', () => {
let poLiveChat: OmnichannelLiveChat;
@ -58,7 +58,7 @@ test.describe('omnichannel-transfer-to-another-agent', () => {
test('transfer omnichannel chat to another agent', async () => {
await test.step('Expect to have 1 omnichannel assigned to agent 1', async () => {
await agent1.poHomeOmnichannel.sidenav.openChat(newVisitor.name);
await agent1.poHomeOmnichannel.sidenav.getSidebarItemByName(newVisitor.name).click();
});
await test.step('Expect to not be able to transfer chat to "user-2" when that user is offline', async () => {
@ -74,7 +74,7 @@ test.describe('omnichannel-transfer-to-another-agent', () => {
await test.step('Expect to be able to transfer an omnichannel to conversation to agent 2 as agent 1 when agent 2 is online', async () => {
await agent2.poHomeOmnichannel.sidenav.switchStatus('online');
await agent1.poHomeOmnichannel.sidenav.openChat(newVisitor.name);
await agent1.poHomeOmnichannel.sidenav.getSidebarItemByName(newVisitor.name).click();
await agent1.poHomeOmnichannel.content.btnForwardChat.click();
await agent1.poHomeOmnichannel.content.inputModalAgentUserName.type('user2');
await agent1.page.locator('.rcx-option .rcx-option__wrapper >> text="user2"').click();
@ -84,7 +84,7 @@ test.describe('omnichannel-transfer-to-another-agent', () => {
});
await test.step('Expect to have 1 omnichannel assigned to agent 2', async () => {
await agent2.poHomeOmnichannel.sidenav.openChat(newVisitor.name);
await agent2.poHomeOmnichannel.sidenav.getSidebarItemByName(newVisitor.name).click();
});
});
});

@ -1,10 +1,10 @@
import { faker } from '@faker-js/faker';
import type { Page } from '@playwright/test';
import { createAuxContext } from './fixtures/createAuxContext';
import { Users } from './fixtures/userStates';
import { OmnichannelLiveChat, HomeOmnichannel } from './page-objects';
import { test, expect } from './utils/test';
import { createAuxContext } from '../fixtures/createAuxContext';
import { Users } from '../fixtures/userStates';
import { OmnichannelLiveChat, HomeOmnichannel } from '../page-objects';
import { test, expect } from '../utils/test';
test.describe.serial('omnichannel-triggers', () => {
let triggersName: string;

@ -13,7 +13,7 @@ export class OmnichannelTriggers {
}
get btnNew(): Locator {
return this.page.locator('text=New');
return this.page.locator('role=button[name="New"]');
}
get Name(): Locator {

Loading…
Cancel
Save