Skip to content

Commit c59e558

Browse files
committed
editor mount test
1 parent ad7f9db commit c59e558

File tree

3 files changed

+39
-28
lines changed

3 files changed

+39
-28
lines changed

src/editor.test.tsx

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import { getBackendSrv } from '@grafana/runtime';
22
import { Button, Collapse, Field } from '@grafana/ui';
3-
import { shallow } from 'enzyme';
3+
import { mount, ReactWrapper, shallow } from 'enzyme';
44
import React from 'react';
5+
import { act } from 'react-dom/test-utils';
56
import { Editor, EditorProps } from './editor';
67
jest.mock('@grafana/runtime');
78

@@ -51,8 +52,27 @@ describe('editor', () => {
5152
expect(c.prop('label')).toBe('Button ' + (i + 1).toString());
5253
expect(c.prop('collapsible')).toBeTruthy();
5354
expect(c.prop('isOpen')).toBeFalsy();
54-
// c.simulate('toggle');
55-
// expect(c.prop('isOpen')).toBeTruthy();
5655
});
56+
57+
collapse.first().simulate('toggle');
58+
wrapper.update();
59+
const open = wrapper.find(Collapse).first();
60+
expect(open.prop('isOpen')).toBeTruthy();
61+
});
62+
63+
test('button mount', async () => {
64+
const mockOnChange = jest.fn();
65+
const props: EditorProps = {
66+
buttons: [{ text: 'a' }],
67+
onChange: mockOnChange,
68+
};
69+
70+
let wrapper: any = {};
71+
await act(async () => {
72+
wrapper = mount(<Editor {...props} />);
73+
});
74+
let collapse: ReactWrapper = wrapper.find(Collapse);
75+
expect(collapse).toHaveLength(1);
76+
wrapper.unmount();
5777
});
5878
});

src/editor.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,11 @@ export const Editor: React.FC<EditorProps> = ({ buttons, onChange }) => {
5959
isOpen={isOpen[i]}
6060
collapsible
6161
onToggle={() => {
62-
console.log('before', isOpen[i], i);
6362
setOpen([
6463
...isOpen.slice(0, i),
6564
!isOpen[i],
6665
...isOpen.slice(i + 1),
6766
]);
68-
console.log('after', isOpen[i], i);
6967
}}
7068
>
7169
<Field label="Text" description="Text to be displayed on the button">

yarn.lock

Lines changed: 16 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3092,9 +3092,9 @@ caniuse-api@^3.0.0:
30923092
lodash.uniq "^4.5.0"
30933093

30943094
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001043, caniuse-lite@^1.0.30001061:
3095-
version "1.0.30001064"
3096-
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001064.tgz#a0f49689119ba08943b09968e118faf3f645add0"
3097-
integrity sha512-hdBcQMFvJIrOhkpAZiRXz04Cmetwc9NekeuNl0qZfHOugxOhJKxsjF1RmISMPFjIF4PPx1reliIzbfN42EiQ5A==
3095+
version "1.0.30001065"
3096+
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001065.tgz#e8d7fef61cdfd8a7107493ad6bf551a4eb59c68f"
3097+
integrity sha512-DDxCLgJ266YnAHQv0jS1wdOaihRFF52Zgmlag39sQJVy2H46oROpJp4hITstqhdB8qnHSrKNoAEkQA9L/oYF9A==
30983098

30993099
capture-exit@^2.0.0:
31003100
version "2.0.0"
@@ -3706,9 +3706,9 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5:
37063706
which "^1.2.9"
37073707

37083708
cross-spawn@^7.0.0:
3709-
version "7.0.2"
3710-
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.2.tgz#d0d7dcfa74e89115c7619f4f721a94e1fdb716d6"
3711-
integrity sha512-PD6G8QG3S4FK/XCGFbEQrDqO2AnMMsy0meR7lerlIOHAAbkuavGU/pOqprrlvfTNjvowivTeBsjebAL0NSoMxw==
3709+
version "7.0.3"
3710+
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
3711+
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
37123712
dependencies:
37133713
path-key "^3.1.0"
37143714
shebang-command "^2.0.0"
@@ -7759,7 +7759,7 @@ minimist@0.0.8:
77597759
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
77607760
integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
77617761

7762-
minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5, minimist@~1.2.0:
7762+
minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5, minimist@~1.2.5:
77637763
version "1.2.5"
77647764
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
77657765
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
@@ -10172,9 +10172,9 @@ regextras@^0.7.0:
1017210172
integrity sha512-9YXf6xtW+qzQ+hcMQXx95MOvfqXFgsKDZodX3qZB0x2n5Z94ioetIITsBtvJbiOyxa/6s9AtyweBLCdPmPko/w==
1017310173

1017410174
regjsgen@^0.5.1:
10175-
version "0.5.1"
10176-
resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.1.tgz#48f0bf1a5ea205196929c0d9798b42d1ed98443c"
10177-
integrity sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==
10175+
version "0.5.2"
10176+
resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733"
10177+
integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==
1017810178

1017910179
regjsparser@^0.6.4:
1018010180
version "0.6.4"
@@ -10324,20 +10324,13 @@ resolve@1.1.7:
1032410324
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
1032510325
integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=
1032610326

10327-
resolve@1.x, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.3.2:
10327+
resolve@1.x, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.3.2, resolve@~1.17.0:
1032810328
version "1.17.0"
1032910329
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
1033010330
integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
1033110331
dependencies:
1033210332
path-parse "^1.0.6"
1033310333

10334-
resolve@~1.15.1:
10335-
version "1.15.1"
10336-
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.1.tgz#27bdcdeffeaf2d6244b95bb0f9f4b4653451f3e8"
10337-
integrity sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==
10338-
dependencies:
10339-
path-parse "^1.0.6"
10340-
1034110334
restore-cursor@^2.0.0:
1034210335
version "2.0.0"
1034310336
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
@@ -11316,9 +11309,9 @@ tapable@^1.0.0, tapable@^1.1.3:
1131611309
integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
1131711310

1131811311
tape@^4.5.1:
11319-
version "4.13.2"
11320-
resolved "https://registry.yarnpkg.com/tape/-/tape-4.13.2.tgz#eb419b9d9bc004025b1a81a5b63093e07f425629"
11321-
integrity sha512-waWwC/OqYVE9TS6r1IynlP2sEdk4Lfo6jazlgkuNkPTHIbuG2BTABIaKdlQWwPeB6Oo4ksZ1j33Yt0NTOAlYMQ==
11312+
version "4.13.3"
11313+
resolved "https://registry.yarnpkg.com/tape/-/tape-4.13.3.tgz#51b3d91c83668c7a45b1a594b607dee0a0b46278"
11314+
integrity sha512-0/Y20PwRIUkQcTCSi4AASs+OANZZwqPKaipGCEwp10dQMipVvSZwUUCi01Y/OklIGyHKFhIcjock+DKnBfLAFw==
1132211315
dependencies:
1132311316
deep-equal "~1.1.1"
1132411317
defined "~1.0.0"
@@ -11329,9 +11322,9 @@ tape@^4.5.1:
1132911322
has "~1.0.3"
1133011323
inherits "~2.0.4"
1133111324
is-regex "~1.0.5"
11332-
minimist "~1.2.0"
11325+
minimist "~1.2.5"
1133311326
object-inspect "~1.7.0"
11334-
resolve "~1.15.1"
11327+
resolve "~1.17.0"
1133511328
resumer "~0.0.0"
1133611329
string.prototype.trim "~1.2.1"
1133711330
through "~2.3.8"

0 commit comments

Comments
 (0)