Skip to content

Commit 6a325a5

Browse files
committed
Fix tests
1 parent d8d8097 commit 6a325a5

4 files changed

Lines changed: 28 additions & 61 deletions

File tree

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
/// <reference types="cypress" />
22

33
describe('hide', () => {
4-
it('should show when calling `show`', () => {
4+
it('should hide when calling `hide`', () => {
55
cy.visit('/useIntercom');
66

77
cy.get('[data-cy=boot]').click();
88

99
cy.get('[data-cy=show]').click();
10-
cy.get('.intercom-messenger-frame > iframe').should('be.visible');
10+
cy.get('iframe[name="intercom-messenger-frame"]').should('be.visible');
1111

12-
cy.get('[data-cy=hide]').click({ force: true });
13-
cy.get('.intercom-messenger-frame > iframe').should('not.exist');
12+
cy.get('[data-cy=hide]').click();
13+
cy.get('iframe[name="intercom-messenger-frame"]').should('not.be.visible');
1414
});
1515
});

packages/react-use-intercom/cypress/e2e/provider.ts

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,30 +9,26 @@ describe('provider', () => {
99
});
1010

1111
describe('provider with events', () => {
12-
it('should render children', () => {
12+
beforeEach(() => {
1313
cy.visit('/providerEvents');
14+
});
1415

16+
it('should render children', () => {
1517
cy.get('p').should('be.visible');
1618
});
1719

1820
it('should render default text', () => {
19-
cy.visit('/providerEvents');
20-
2121
cy.contains('default');
2222
});
2323

2424
it('should not execute `onShow` when not booted', () => {
25-
cy.visit('/providerEvents');
26-
2725
cy.get('[data-cy=onShowText]').should('have.text', 'default');
2826
cy.get('[data-cy=show]').click();
2927

3028
cy.get('[data-cy=onShowText]').should('have.text', 'default');
3129
});
3230

3331
it('should execute `onShow` event when clicking `show`', () => {
34-
cy.visit('/providerEvents');
35-
3632
cy.get('[data-cy=onShowText]').should('have.text', 'default');
3733
cy.get('[data-cy=boot]').click();
3834
cy.get('[data-cy=show]').click();
@@ -41,17 +37,13 @@ describe('provider with events', () => {
4137
});
4238

4339
it('should not execute `onHide` event when clicking `hide`', () => {
44-
cy.visit('/providerEvents');
45-
4640
cy.get('[data-cy=onHideText]').should('have.text', 'default');
4741
cy.get('[data-cy=boot]').click();
4842

4943
cy.get('[data-cy=onHideText]').should('have.text', 'default');
5044
});
5145

5246
it('should execute `onHide` event when clicking `hide`', () => {
53-
cy.visit('/providerEvents');
54-
5547
cy.get('[data-cy=onHideText]').should('have.text', 'default');
5648
cy.get('[data-cy=boot]').click();
5749
cy.get('[data-cy=show]').click();
@@ -62,9 +54,11 @@ describe('provider with events', () => {
6254
});
6355

6456
describe('provider with `apiBase`', () => {
65-
it('should set `api_base` if provided', () => {
57+
beforeEach(() => {
6658
cy.visit('/providerApi');
59+
});
6760

61+
it('should set `api_base` if provided', () => {
6862
cy.get('p').should('be.visible');
6963

7064
cy.window().should('have.deep.property', 'intercomSettings', {
@@ -76,13 +70,11 @@ describe('provider with `apiBase`', () => {
7670

7771
describe('provider with `autoBootProps`', () => {
7872
it('should set properties if passed to `autoBootProps` when `autoBoot` is `true`', () => {
79-
cy.visit('/providerAutoBootProps');
80-
8173
cy.get('p').should('be.visible');
8274

8375
cy.get('span')
8476
.invoke('text')
85-
.then(phone => {
77+
.then((phone) => {
8678
cy.window().should('have.deep.property', 'intercomSettings', {
8779
app_id: 'jcabc7e3',
8880
phone,

packages/react-use-intercom/cypress/e2e/show.ts

Lines changed: 11 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/// <reference types="cypress" />
22

3-
before(() => {
3+
beforeEach(() => {
44
cy.visit('/useIntercom');
55

66
cy.intercept('https://api-iam.intercom.io/messenger/web/ping').as(
@@ -12,62 +12,42 @@ before(() => {
1212
cy.intercept('https://api-iam.intercom.io/messenger/web/metrics').as(
1313
'intercomMetrics',
1414
);
15-
cy.intercept('https://api-iam.intercom.io/messenger/web/home_cards').as(
16-
'intercomHomeCards',
17-
);
1815
});
1916

2017
describe('show', () => {
2118
it('should show when calling `show`', () => {
22-
cy.visit('/useIntercom');
23-
2419
cy.get('[data-cy=boot]').click();
2520
cy.wait('@intercomPing');
2621

2722
cy.get('[data-cy=show]').click();
2823
cy.wait('@intercomOpen');
29-
cy.wait('@intercomHomeCards');
3024

3125
cy.get('iframe[name="intercom-messenger-frame"]')
3226
.should('be.visible')
3327
.then(($iframe) => {
3428
const $body = $iframe.contents().find('body');
3529

36-
cy.wrap($body).contains('Start a conversation');
30+
cy.wrap($body).contains('Send us a message');
3731
});
3832
});
3933
});
4034

4135
describe('showMessages', () => {
4236
it('should show when calling `showMessages`', () => {
43-
cy.visit('/useIntercom');
44-
4537
cy.get('[data-cy=boot]').click();
4638

4739
cy.get('[data-cy=show-messages]').click();
48-
cy.get('.intercom-messenger-frame > iframe').should('be.visible');
40+
cy.get('iframe[name="intercom-messenger-frame"]')
41+
.should('be.visible')
42+
.then(($iframe) => {
43+
const $body = $iframe.contents().find('body');
4944

50-
cy.get('[data-cy=hide]').click({ force: true });
51-
cy.get('.intercom-messenger-frame > iframe').should('not.exist');
45+
cy.wrap($body).contains('Messages from the team will be shown here');
46+
});
5247
});
5348
});
5449

5550
describe('showNewMessage', () => {
56-
beforeEach(() => {
57-
cy.intercept('https://api-iam.intercom.io/messenger/web/ping').as(
58-
'intercomPing',
59-
);
60-
61-
cy.intercept('https://api-iam.intercom.io/messenger/web/open').as(
62-
'intercomOpen',
63-
);
64-
cy.intercept('https://api-iam.intercom.io/messenger/web/metrics').as(
65-
'intercomMetrics',
66-
);
67-
68-
cy.visit('/useIntercom');
69-
});
70-
7151
it('should show new message `showNewMessage`', () => {
7252
cy.get('[data-cy=boot]').click();
7353
cy.wait('@intercomPing');
@@ -80,7 +60,8 @@ describe('showNewMessage', () => {
8060
.then(($iframe) => {
8161
const $body = $iframe.contents().find('body');
8262

83-
cy.wrap($body).find('[aria-label="Back"]').should('exist');
63+
cy.wrap($body).contains('Ask us anything, or share your feedback.');
64+
cy.wrap($body).find('button[data-testid="go-back"]').should('exist');
8465
});
8566
});
8667

@@ -96,7 +77,7 @@ describe('showNewMessage', () => {
9677
.then(($iframe) => {
9778
const $body = $iframe.contents().find('body');
9879

99-
cy.wrap($body).find('[aria-label="Back"]').should('exist');
80+
cy.wrap($body).find('button[data-testid="go-back"]').should('exist');
10081
cy.wrap($body)
10182
.find('textarea[name="message"]')
10283
.should('exist')
Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
/// <reference types="cypress" />
22

33
describe('shutdown', () => {
4+
beforeEach(() => {
5+
cy.visit('/useIntercom');
6+
});
7+
48
afterEach(() => {
59
cy.get('[data-cy=shutdown]').click();
610
});
711

812
it('should shutdown when calling `shutdown`', () => {
9-
cy.visit('/useIntercom');
10-
1113
cy.window().should('not.have.property', 'intercomSettings');
1214

1315
cy.get('[data-cy=boot]').click();
@@ -16,28 +18,20 @@ describe('shutdown', () => {
1618
});
1719

1820
it('should remove keep `window.intercomSettings` when calling `shutdown`', () => {
19-
cy.visit('/useIntercom');
20-
2121
cy.window().should('not.have.property', 'intercomSettings');
2222

2323
cy.get('[data-cy=boot]').click();
2424
cy.get('[data-cy=shutdown]').click();
25-
cy.window()
26-
.its('intercomSettings')
27-
.should('be.undefined');
25+
cy.window().its('intercomSettings').should('be.undefined');
2826
cy.get('.intercom-lightweight-app-launcher-icon-open').should('not.exist');
2927
});
3028

3129
it('should remove `app_id` when calling `hardShutdown`', () => {
32-
cy.visit('/useIntercom');
33-
3430
cy.window().should('not.have.property', 'intercomSettings');
3531

3632
cy.get('[data-cy=boot]').click();
3733
cy.get('[data-cy=shutdown-hard]').click();
38-
cy.window()
39-
.its('intercomSettings')
40-
.should('be.undefined');
34+
cy.window().its('intercomSettings').should('be.undefined');
4135
cy.get('.intercom-lightweight-app-launcher-icon-open').should('not.exist');
4236
});
4337
});

0 commit comments

Comments
 (0)