Skip to content

Commit fafd081

Browse files
committed
Eliminate some auxiliar contexts from E2E test suite
1 parent 9cbc58c commit fafd081

File tree

1 file changed

+31
-24
lines changed

1 file changed

+31
-24
lines changed

apps/meteor/tests/e2e/omnichannel/omnichannel-livechat.spec.ts

Lines changed: 31 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import type { Page } from 'playwright-core';
2+
13
import { createFakeVisitor } from '../../mocks/data';
24
import { createAuxContext } from '../fixtures/createAuxContext';
35
import { Users } from '../fixtures/userStates';
@@ -15,14 +17,15 @@ test.use({ storageState: Users.user1.state });
1517
test.describe.serial('OC - Livechat', () => {
1618
let poLiveChat: OmnichannelLiveChat;
1719
let poHomeOmnichannel: HomeOmnichannel;
20+
let livechatPage: Page;
1821

1922
test.beforeAll(async ({ api }) => {
2023
const statusCode = (await api.post('/livechat/users/agent', { username: 'user1' })).status();
2124
expect(statusCode).toBe(200);
2225
});
2326

2427
test.beforeAll(async ({ browser, api }) => {
25-
const { page: livechatPage } = await createAuxContext(browser, Users.user1, '/livechat', false);
28+
({ page: livechatPage } = await createAuxContext(browser, Users.user1, '/livechat', false));
2629

2730
poLiveChat = new OmnichannelLiveChat(livechatPage, api);
2831
});
@@ -35,7 +38,7 @@ test.describe.serial('OC - Livechat', () => {
3538
});
3639

3740
test.afterAll(async ({ api }) => {
38-
await Promise.all([api.delete('/livechat/users/agent/user1'), poLiveChat.page.close()]);
41+
await Promise.all([api.delete('/livechat/users/agent/user1'), livechatPage.close()]);
3942
});
4043

4144
test('OC - Livechat - Send message to online agent', async () => {
@@ -110,27 +113,32 @@ test.describe.serial('OC - Livechat', () => {
110113
test.describe.serial('OC - Livechat - Visitors closing the room is disabled', () => {
111114
let poLiveChat: OmnichannelLiveChat;
112115
let poHomeOmnichannel: HomeOmnichannel;
116+
let livechatPage: Page;
117+
let omniPage: Page;
113118

114119
test.beforeAll(async ({ api }) => {
115120
await api.post('/livechat/users/agent', { username: 'user1' });
116121
});
117122

118123
test.beforeAll(async ({ browser, api }) => {
119-
const { page: livechatPage } = await createAuxContext(browser, Users.user1, '/livechat', false);
124+
({ page: livechatPage } = await createAuxContext(browser, Users.user1, '/livechat', false));
120125

121126
poLiveChat = new OmnichannelLiveChat(livechatPage, api);
122127
});
123128

124129
test.beforeAll(async ({ browser, api }) => {
125130
await setSettingValueById(api, 'Livechat_allow_visitor_closing_chat', false);
126-
const { page: omniPage } = await createAuxContext(browser, Users.user1, '/', true);
131+
({ page: omniPage } = await createAuxContext(browser, Users.user1, '/', true));
127132
poHomeOmnichannel = new HomeOmnichannel(omniPage);
128133
});
129134

130135
test.afterAll(async ({ api }) => {
131-
await setSettingValueById(api, 'Livechat_allow_visitor_closing_chat', true);
132-
await api.delete('/livechat/users/agent/user1');
133-
await poLiveChat.page.close();
136+
await Promise.all([
137+
setSettingValueById(api, 'Livechat_allow_visitor_closing_chat', true),
138+
api.delete('/livechat/users/agent/user1'),
139+
livechatPage.close(),
140+
omniPage.close(),
141+
]);
134142
});
135143

136144
test('OC - Livechat - Close Chat disabled', async () => {
@@ -161,6 +169,8 @@ test.describe.serial('OC - Livechat - Visitors closing the room is disabled', ()
161169
test.describe.serial('OC - Livechat - Resub after close room', () => {
162170
let poLiveChat: OmnichannelLiveChat;
163171
let poHomeOmnichannel: HomeOmnichannel;
172+
let livechatPage: Page;
173+
let omniPage: Page;
164174

165175
test.beforeAll(async ({ api }) => {
166176
const statusCode = (await api.post('/livechat/users/agent', { username: 'user1' })).status();
@@ -169,20 +179,22 @@ test.describe.serial('OC - Livechat - Resub after close room', () => {
169179

170180
test.beforeAll(async ({ browser, api }) => {
171181
await api.post('/settings/Livechat_clear_local_storage_when_chat_ended', { value: true });
172-
const { page: omniPage } = await createAuxContext(browser, Users.user1, '/', true);
182+
({ page: omniPage } = await createAuxContext(browser, Users.user1, '/', true));
173183
poHomeOmnichannel = new HomeOmnichannel(omniPage);
174184

175-
const { page: livechatPage } = await createAuxContext(browser, Users.user1, '/livechat', false);
185+
({ page: livechatPage } = await createAuxContext(browser, Users.user1, '/livechat', false));
176186
poLiveChat = new OmnichannelLiveChat(livechatPage, api);
177187

178188
await poLiveChat.sendMessageAndCloseChat(firstVisitor);
179189
});
180190

181191
test.afterAll(async ({ api }) => {
182-
await api.post('/settings/Livechat_clear_local_storage_when_chat_ended', { value: false });
183-
await api.delete('/livechat/users/agent/user1');
184-
await poLiveChat.page.close();
185-
await poHomeOmnichannel.page.close();
192+
await Promise.all([
193+
api.post('/settings/Livechat_clear_local_storage_when_chat_ended', { value: false }),
194+
api.delete('/livechat/users/agent/user1'),
195+
livechatPage.close(),
196+
omniPage.close(),
197+
]);
186198
});
187199

188200
test('OC - Livechat - Resub after close room', async () => {
@@ -210,26 +222,26 @@ test.describe.serial('OC - Livechat - Resub after close room', () => {
210222
test.describe('OC - Livechat - Resume chat after closing', () => {
211223
let poLiveChat: OmnichannelLiveChat;
212224
let poHomeOmnichannel: HomeOmnichannel;
225+
let livechatPage: Page;
226+
let omniPage: Page;
213227

214228
test.beforeAll(async ({ api }) => {
215229
const statusCode = (await api.post('/livechat/users/agent', { username: 'user1' })).status();
216230
expect(statusCode).toBe(200);
217231
});
218232

219233
test.beforeAll(async ({ browser, api }) => {
220-
const { page: omniPage } = await createAuxContext(browser, Users.user1, '/', true);
234+
({ page: omniPage } = await createAuxContext(browser, Users.user1, '/', true));
221235
poHomeOmnichannel = new HomeOmnichannel(omniPage);
222236

223-
const { page: livechatPage } = await createAuxContext(browser, Users.user1, '/livechat', false);
237+
({ page: livechatPage } = await createAuxContext(browser, Users.user1, '/livechat', false));
224238
poLiveChat = new OmnichannelLiveChat(livechatPage, api);
225239

226240
await poLiveChat.sendMessageAndCloseChat(firstVisitor);
227241
});
228242

229243
test.afterAll(async ({ api }) => {
230-
await api.delete('/livechat/users/agent/user1');
231-
await poLiveChat.page.close();
232-
await poHomeOmnichannel.page.close();
244+
await Promise.all([api.delete('/livechat/users/agent/user1'), livechatPage.close(), omniPage.close()]);
233245
});
234246

235247
test('OC - Livechat - Resume chat after closing', async () => {
@@ -256,14 +268,10 @@ test.describe('OC - Livechat - Resume chat after closing', () => {
256268

257269
test.describe('OC - Livechat - Close chat using widget', () => {
258270
let poLiveChat: OmnichannelLiveChat;
259-
let poHomeOmnichannel: HomeOmnichannel;
260271
let agent: Awaited<ReturnType<typeof createAgent>>;
261272

262-
test.beforeAll(async ({ browser, api }) => {
273+
test.beforeAll(async ({ api }) => {
263274
agent = await createAgent(api, 'user1');
264-
265-
const { page } = await createAuxContext(browser, Users.user1, '/');
266-
poHomeOmnichannel = new HomeOmnichannel(page);
267275
});
268276

269277
test.beforeEach(async ({ page, api }) => {
@@ -273,7 +281,6 @@ test.describe('OC - Livechat - Close chat using widget', () => {
273281
});
274282

275283
test.afterAll(async () => {
276-
await poHomeOmnichannel.page.close();
277284
await agent.delete();
278285
});
279286

0 commit comments

Comments
 (0)