@ukic/web-components 2.29.0 → 2.29.1
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/ic-alert.cjs.entry.js +1 -1
- package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-popover-menu.cjs.entry.js +18 -12
- package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +14 -27
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-select.cjs.entry.js +5 -5
- package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-context.cjs.entry.js +68 -145
- package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-panel.cjs.entry.js +5 -13
- package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab.cjs.entry.js +9 -10
- package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-text-field.cjs.entry.js +1 -1
- package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +3 -1
- package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/ic-alert/ic-alert.css +5 -0
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +45 -12
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
- package/dist/collection/components/ic-search-bar/ic-search-bar.js +14 -27
- package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
- package/dist/collection/components/ic-select/ic-select.js +5 -5
- package/dist/collection/components/ic-select/ic-select.js.map +1 -1
- package/dist/collection/components/ic-tab/ic-tab.js +9 -10
- package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
- package/dist/collection/components/ic-tab-context/ic-tab-context.js +68 -145
- package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
- package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js +2 -2
- package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js.map +1 -1
- package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +5 -73
- package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
- package/dist/collection/components/ic-text-field/ic-text-field.js +1 -1
- package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
- package/dist/collection/components/ic-typography/ic-typography.js +3 -1
- package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
- package/dist/components/ic-alert2.js +1 -1
- package/dist/components/ic-alert2.js.map +1 -1
- package/dist/components/ic-popover-menu.js +20 -13
- package/dist/components/ic-popover-menu.js.map +1 -1
- package/dist/components/ic-search-bar.js +14 -27
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/components/ic-select.js +5 -5
- package/dist/components/ic-select.js.map +1 -1
- package/dist/components/ic-tab-context.js +68 -145
- package/dist/components/ic-tab-context.js.map +1 -1
- package/dist/components/ic-tab-panel.js +6 -17
- package/dist/components/ic-tab-panel.js.map +1 -1
- package/dist/components/ic-tab.js +9 -10
- package/dist/components/ic-tab.js.map +1 -1
- package/dist/components/ic-text-field2.js +1 -1
- package/dist/components/ic-text-field2.js.map +1 -1
- package/dist/components/ic-typography2.js +3 -1
- package/dist/components/ic-typography2.js.map +1 -1
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/{p-dcd475cc.entry.js → p-0432d31a.entry.js} +2 -2
- package/dist/core/p-0432d31a.entry.js.map +1 -0
- package/dist/core/{p-227f6a41.entry.js → p-2889cc17.entry.js} +2 -2
- package/dist/core/p-2889cc17.entry.js.map +1 -0
- package/dist/core/{p-60746e10.entry.js → p-4f0e9434.entry.js} +2 -2
- package/dist/core/p-4f0e9434.entry.js.map +1 -0
- package/dist/core/{p-4562904d.entry.js → p-72b0a5be.entry.js} +2 -2
- package/dist/core/{p-4562904d.entry.js.map → p-72b0a5be.entry.js.map} +1 -1
- package/dist/core/p-72b350bc.entry.js +2 -0
- package/dist/core/p-72b350bc.entry.js.map +1 -0
- package/dist/core/{p-db52d416.entry.js → p-8a8bf98c.entry.js} +2 -2
- package/dist/core/{p-db52d416.entry.js.map → p-8a8bf98c.entry.js.map} +1 -1
- package/dist/core/p-9df32798.entry.js +2 -0
- package/dist/core/p-9df32798.entry.js.map +1 -0
- package/dist/core/p-bb4b7dcb.entry.js +2 -0
- package/dist/core/p-bb4b7dcb.entry.js.map +1 -0
- package/dist/core/{p-ed2b2bd7.entry.js → p-dd4ef67f.entry.js} +2 -2
- package/dist/core/{p-ed2b2bd7.entry.js.map → p-dd4ef67f.entry.js.map} +1 -1
- package/dist/esm/core.js +1 -1
- package/dist/esm/ic-alert.entry.js +1 -1
- package/dist/esm/ic-alert.entry.js.map +1 -1
- package/dist/esm/ic-popover-menu.entry.js +18 -12
- package/dist/esm/ic-popover-menu.entry.js.map +1 -1
- package/dist/esm/ic-search-bar.entry.js +14 -27
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/ic-select.entry.js +5 -5
- package/dist/esm/ic-select.entry.js.map +1 -1
- package/dist/esm/ic-tab-context.entry.js +68 -145
- package/dist/esm/ic-tab-context.entry.js.map +1 -1
- package/dist/esm/ic-tab-panel.entry.js +5 -13
- package/dist/esm/ic-tab-panel.entry.js.map +1 -1
- package/dist/esm/ic-tab.entry.js +9 -10
- package/dist/esm/ic-tab.entry.js.map +1 -1
- package/dist/esm/ic-text-field.entry.js +1 -1
- package/dist/esm/ic-text-field.entry.js.map +1 -1
- package/dist/esm/ic-typography.entry.js +3 -1
- package/dist/esm/ic-typography.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +2 -2
- package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +9 -6
- package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +0 -12
- package/dist/types/components.d.ts +4 -3
- package/hydrate/index.js +128 -220
- package/package.json +2 -2
- package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js +0 -343
- package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js.map +0 -1
- package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js +0 -1106
- package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js.map +0 -1
- package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js +0 -49
- package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js.map +0 -1
- package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js +0 -65
- package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js.map +0 -1
- package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js +0 -109
- package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js.map +0 -1
- package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js +0 -39
- package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js.map +0 -1
- package/dist/core/p-227f6a41.entry.js.map +0 -1
- package/dist/core/p-60746e10.entry.js.map +0 -1
- package/dist/core/p-9e15d0e1.entry.js +0 -2
- package/dist/core/p-9e15d0e1.entry.js.map +0 -1
- package/dist/core/p-cb14349b.entry.js +0 -2
- package/dist/core/p-cb14349b.entry.js.map +0 -1
- package/dist/core/p-dcd475cc.entry.js.map +0 -1
- package/dist/core/p-e735d773.entry.js +0 -2
- package/dist/core/p-e735d773.entry.js.map +0 -1
@@ -1,343 +0,0 @@
|
|
1
|
-
import { newE2EPage } from "@stencil/core/testing";
|
2
|
-
beforeAll(() => {
|
3
|
-
jest.spyOn(console, "warn").mockImplementation(jest.fn());
|
4
|
-
});
|
5
|
-
describe("ic-radio-group component", () => {
|
6
|
-
it("should have tabIndex of first option 0, when no options are selected", async () => {
|
7
|
-
const page = await newE2EPage();
|
8
|
-
await page.setContent(`<ic-radio-group label="test label" name="test">
|
9
|
-
<ic-radio-option value="test1" ></ic-radio-option>
|
10
|
-
<ic-radio-option value="test2" ></ic-radio-option>
|
11
|
-
</ic-radio-group>
|
12
|
-
`);
|
13
|
-
await page.waitForChanges();
|
14
|
-
const radioButton1 = await page.find("ic-radio-option[value='test1']");
|
15
|
-
const input1 = radioButton1.shadowRoot.querySelector("input");
|
16
|
-
const radioButton2 = await page.find("ic-radio-option[value='test2']");
|
17
|
-
const input2 = radioButton2.shadowRoot.querySelector("input");
|
18
|
-
expect(input1.tabIndex).toBe(0);
|
19
|
-
expect(input2.tabIndex).toBe(-1);
|
20
|
-
});
|
21
|
-
it("should not be clickable when disabled", async () => {
|
22
|
-
const page = await newE2EPage();
|
23
|
-
await page.setContent(`<ic-radio-group label="test label" name="test">
|
24
|
-
<ic-radio-option value="test1" disabled></ic-radio-option>
|
25
|
-
<ic-radio-option value="test2" disabled></ic-radio-option>
|
26
|
-
</ic-radio-group>
|
27
|
-
`);
|
28
|
-
const radioButton = await page.find("ic-radio-option[value='test2']");
|
29
|
-
await radioButton.click();
|
30
|
-
await page.waitForChanges();
|
31
|
-
expect(await radioButton.getProperty("selected")).toBe(false);
|
32
|
-
});
|
33
|
-
it("should be selected when clicked", async () => {
|
34
|
-
const page = await newE2EPage();
|
35
|
-
await page.setContent(`<ic-radio-group label="test label" name="test">
|
36
|
-
<ic-radio-option value="test1" ></ic-radio-option>
|
37
|
-
<ic-radio-option value="test2" ></ic-radio-option>
|
38
|
-
</ic-radio-group>
|
39
|
-
`);
|
40
|
-
let radioButton = await page.find("ic-radio-option[value='test2']");
|
41
|
-
await radioButton.click();
|
42
|
-
await page.waitForChanges();
|
43
|
-
expect(await radioButton.getProperty("selected")).toBe(true);
|
44
|
-
radioButton = await page.find("ic-radio-option[value='test2']");
|
45
|
-
const input = radioButton.shadowRoot.querySelector("input");
|
46
|
-
expect(input.tabIndex).toBe(0);
|
47
|
-
});
|
48
|
-
it("should enable textfield when associated option is selected when static", async () => {
|
49
|
-
const page = await newE2EPage();
|
50
|
-
await page.setContent(`<ic-radio-group label="test label" name="test">
|
51
|
-
<ic-radio-option value="test1" ></ic-radio-option>
|
52
|
-
<ic-radio-option value="test2" selected>
|
53
|
-
<ic-text-field
|
54
|
-
slot="additional-field"
|
55
|
-
label="Test label"
|
56
|
-
></ic-text-field>
|
57
|
-
</ic-radio-option>
|
58
|
-
</ic-radio-group>
|
59
|
-
`);
|
60
|
-
const radioButton = await page.find("ic-radio-option[value='test1']");
|
61
|
-
const textfield = await page.find("ic-text-field");
|
62
|
-
expect(textfield).not.toHaveAttribute("disabled");
|
63
|
-
await radioButton.click();
|
64
|
-
await page.waitForChanges();
|
65
|
-
expect(textfield).toHaveAttribute("disabled");
|
66
|
-
});
|
67
|
-
it("should display textfield when associated option is selected when dynamic", async () => {
|
68
|
-
const page = await newE2EPage();
|
69
|
-
await page.setContent(`<ic-radio-group label="test label" name="test">
|
70
|
-
<ic-radio-option value="test1" ></ic-radio-option>
|
71
|
-
<ic-radio-option value="test2" additional-field-display="dynamic">
|
72
|
-
<ic-text-field
|
73
|
-
slot="additional-field"
|
74
|
-
label="Test label"
|
75
|
-
></ic-text-field>
|
76
|
-
</ic-radio-option>
|
77
|
-
</ic-radio-group>
|
78
|
-
`);
|
79
|
-
const radioButton = await page.find("ic-radio-option[value='test2']");
|
80
|
-
let additionalFieldDisplay = await page.evaluate(() => {
|
81
|
-
const additionalField = document
|
82
|
-
.querySelector("ic-radio-option[value='test2']")
|
83
|
-
.shadowRoot.querySelector(".dynamic-container");
|
84
|
-
return window.getComputedStyle(additionalField).display;
|
85
|
-
});
|
86
|
-
expect(additionalFieldDisplay).toBe("none");
|
87
|
-
await radioButton.click();
|
88
|
-
await page.waitForChanges();
|
89
|
-
additionalFieldDisplay = await page.evaluate(() => {
|
90
|
-
const additionalField = document
|
91
|
-
.querySelector("ic-radio-option[value='test2']")
|
92
|
-
.shadowRoot.querySelector(".dynamic-container");
|
93
|
-
return window.getComputedStyle(additionalField).display;
|
94
|
-
});
|
95
|
-
expect(additionalFieldDisplay).not.toBe("none");
|
96
|
-
});
|
97
|
-
it("should emit icChange event when radio option is selected", async () => {
|
98
|
-
const page = await newE2EPage();
|
99
|
-
await page.setContent(`<ic-radio-group label="test label" name="test">
|
100
|
-
<ic-radio-option value="test1" ></ic-radio-option>
|
101
|
-
<ic-radio-option value="test2" >
|
102
|
-
</ic-radio-option>
|
103
|
-
</ic-radio-group>
|
104
|
-
`);
|
105
|
-
const radioButton = await page.find("ic-radio-option[value='test2']");
|
106
|
-
const icChange = await page.spyOnEvent("icChange");
|
107
|
-
await radioButton.click();
|
108
|
-
await page.waitForChanges();
|
109
|
-
const radioElement = await page.evaluate(() => document.querySelector("ic-radio-option[value='test2']"));
|
110
|
-
expect(icChange).toHaveReceivedEventDetail({
|
111
|
-
selectedOption: {
|
112
|
-
radio: radioElement,
|
113
|
-
},
|
114
|
-
value: "test2",
|
115
|
-
});
|
116
|
-
});
|
117
|
-
it("should emit icCheck event when radio option is selected", async () => {
|
118
|
-
const page = await newE2EPage();
|
119
|
-
await page.setContent(`<ic-radio-group label="test label" name="test">
|
120
|
-
<ic-radio-option value="test1" ></ic-radio-option>
|
121
|
-
<ic-radio-option value="test2" ></ic-radio-option>
|
122
|
-
</ic-radio-group>
|
123
|
-
`);
|
124
|
-
const radioButton = await page.find("ic-radio-option[value='test2']");
|
125
|
-
const icChecked = await page.spyOnEvent("icCheck");
|
126
|
-
await radioButton.click();
|
127
|
-
await page.waitForChanges();
|
128
|
-
expect(icChecked).toHaveReceivedEventDetail({
|
129
|
-
value: "test2",
|
130
|
-
});
|
131
|
-
});
|
132
|
-
it("should select when spacebar is pressed", async () => {
|
133
|
-
const page = await newE2EPage();
|
134
|
-
await page.setContent(`<ic-radio-group label="test label" name="test">
|
135
|
-
<ic-radio-option value="test1" ></ic-radio-option>
|
136
|
-
<ic-radio-option value="test2" >
|
137
|
-
</ic-radio-option>
|
138
|
-
</ic-radio-group>
|
139
|
-
`);
|
140
|
-
const radioButton = await page.find("ic-radio-option[value='test1']");
|
141
|
-
expect(await radioButton.getProperty("selected")).toBe(false);
|
142
|
-
await page.keyboard.press("Tab");
|
143
|
-
await radioButton.press(" ");
|
144
|
-
await page.waitForChanges();
|
145
|
-
expect(await radioButton.getProperty("selected")).toBe(true);
|
146
|
-
const input = radioButton.shadowRoot.querySelector("input");
|
147
|
-
expect(input.tabIndex).toBe(0);
|
148
|
-
});
|
149
|
-
it("should select next radio option down when arrow down is used", async () => {
|
150
|
-
const page = await newE2EPage();
|
151
|
-
await page.setContent(`<ic-radio-group label="test label" name="test">
|
152
|
-
<ic-radio-option value="test1" ></ic-radio-option>
|
153
|
-
<ic-radio-option value="test2" ></ic-radio-option>
|
154
|
-
<ic-radio-option value="test3" ></ic-radio-option>
|
155
|
-
</ic-radio-group>
|
156
|
-
`);
|
157
|
-
const radioButton1 = await page.find("ic-radio-option[value='test1']");
|
158
|
-
const radioButton2 = await page.find("ic-radio-option[value='test2']");
|
159
|
-
await page.keyboard.press("Tab");
|
160
|
-
await radioButton1.press(" ");
|
161
|
-
await page.waitForChanges();
|
162
|
-
await radioButton1.press("ArrowDown");
|
163
|
-
await page.waitForChanges();
|
164
|
-
const input = radioButton2.shadowRoot.querySelector("input");
|
165
|
-
expect(input.tabIndex).toBe(0);
|
166
|
-
});
|
167
|
-
it("should select next radio option down when arrow right is used", async () => {
|
168
|
-
const page = await newE2EPage();
|
169
|
-
await page.setContent(`<ic-radio-group label="test label" name="test">
|
170
|
-
<ic-radio-option value="test1" ></ic-radio-option>
|
171
|
-
<ic-radio-option value="test2" ></ic-radio-option>
|
172
|
-
<ic-radio-option value="test3" ></ic-radio-option>
|
173
|
-
</ic-radio-group>
|
174
|
-
`);
|
175
|
-
const radioButton1 = await page.find("ic-radio-option[value='test1']");
|
176
|
-
const radioButton2 = await page.find("ic-radio-option[value='test2']");
|
177
|
-
await page.keyboard.press("Tab");
|
178
|
-
await radioButton1.press(" ");
|
179
|
-
await page.waitForChanges();
|
180
|
-
await radioButton1.press("ArrowRight");
|
181
|
-
await page.waitForChanges();
|
182
|
-
const input = radioButton2.shadowRoot.querySelector("input");
|
183
|
-
expect(input.tabIndex).toBe(0);
|
184
|
-
});
|
185
|
-
it("should select next radio option down when arrow up is used", async () => {
|
186
|
-
const page = await newE2EPage();
|
187
|
-
await page.setContent(`<ic-radio-group label="test label" name="test">
|
188
|
-
<ic-radio-option value="test1" ></ic-radio-option>
|
189
|
-
<ic-radio-option value="test2" ></ic-radio-option>
|
190
|
-
<ic-radio-option value="test3" ></ic-radio-option>
|
191
|
-
</ic-radio-group>
|
192
|
-
`);
|
193
|
-
const radioButton2 = await page.find("ic-radio-option[value='test2']");
|
194
|
-
const radioButton1 = await page.find("ic-radio-option[value='test1']");
|
195
|
-
await radioButton2.click();
|
196
|
-
await page.waitForChanges();
|
197
|
-
await radioButton2.press("ArrowUp");
|
198
|
-
await page.waitForChanges();
|
199
|
-
const input = radioButton1.shadowRoot.querySelector("input");
|
200
|
-
expect(input.tabIndex).toBe(0);
|
201
|
-
});
|
202
|
-
it("should select next radio option down when arrow left is used", async () => {
|
203
|
-
const page = await newE2EPage();
|
204
|
-
await page.setContent(`<ic-radio-group label="test label" name="test">
|
205
|
-
<ic-radio-option value="test1" ></ic-radio-option>
|
206
|
-
<ic-radio-option value="test2" ></ic-radio-option>
|
207
|
-
<ic-radio-option value="test3" ></ic-radio-option>
|
208
|
-
</ic-radio-group>
|
209
|
-
`);
|
210
|
-
const radioButton2 = await page.find("ic-radio-option[value='test2']");
|
211
|
-
const radioButton1 = await page.find("ic-radio-option[value='test1']");
|
212
|
-
await radioButton2.click();
|
213
|
-
await page.waitForChanges();
|
214
|
-
await radioButton2.press("ArrowLeft");
|
215
|
-
await page.waitForChanges();
|
216
|
-
const input = radioButton1.shadowRoot.querySelector("input");
|
217
|
-
expect(input.tabIndex).toBe(0);
|
218
|
-
});
|
219
|
-
it("should work in a form", async () => {
|
220
|
-
const page = await newE2EPage();
|
221
|
-
await page.setContent(` <form>
|
222
|
-
<ic-radio-group label="this is a label" name="1">
|
223
|
-
<ic-radio-option
|
224
|
-
value="valueName1"
|
225
|
-
label="Unselected / Default"
|
226
|
-
></ic-radio-option>
|
227
|
-
<ic-radio-option
|
228
|
-
value="valueName2"
|
229
|
-
label="Selected / Default"
|
230
|
-
selected
|
231
|
-
></ic-radio-option>
|
232
|
-
<ic-radio-option
|
233
|
-
value="valueName3"
|
234
|
-
label="Unselected / Disabled"
|
235
|
-
disabled
|
236
|
-
></ic-radio-option>
|
237
|
-
</ic-radio-group>
|
238
|
-
<input type="submit" value="Submit">
|
239
|
-
</form>
|
240
|
-
<script>document.querySelector('form').addEventListener('submit', (ev) => {
|
241
|
-
ev.preventDefault();
|
242
|
-
})
|
243
|
-
</script>
|
244
|
-
`);
|
245
|
-
await page.waitForChanges();
|
246
|
-
const radioButton = await page.find("ic-radio-option[value='valueName1']");
|
247
|
-
await radioButton.click();
|
248
|
-
await page.waitForChanges();
|
249
|
-
const value = await (await page.find('input[name="1"]')).getProperty("value");
|
250
|
-
expect(value).toBe("valueName1");
|
251
|
-
});
|
252
|
-
it("should pass the value of radio button correctly when already selected", async () => {
|
253
|
-
const page = await newE2EPage();
|
254
|
-
await page.setContent(`<ic-radio-group label="test label" name="test">
|
255
|
-
<ic-radio-option value="test1" ></ic-radio-option>
|
256
|
-
<ic-radio-option value="test2" selected ></ic-radio-option>
|
257
|
-
</ic-radio-group>
|
258
|
-
`);
|
259
|
-
await page.waitForChanges();
|
260
|
-
const value = await (await page.find('input[name="test"]')).getProperty("value");
|
261
|
-
expect(value).toBe("test2");
|
262
|
-
});
|
263
|
-
it("should pass the value of radio button and textfield correctly when already selected", async () => {
|
264
|
-
const page = await newE2EPage();
|
265
|
-
await page.setContent(`<ic-radio-group label="test label" name="test">
|
266
|
-
<ic-radio-option value="test1" ></ic-radio-option>
|
267
|
-
<ic-radio-option value="test2" additional-field-display="dynamic" >
|
268
|
-
<ic-text-field
|
269
|
-
slot="additional-field"
|
270
|
-
label="Test label"
|
271
|
-
></ic-text-field>
|
272
|
-
</ic-radio-option>
|
273
|
-
</ic-radio-group>
|
274
|
-
`);
|
275
|
-
const radioButton = await page.find("ic-radio-option[value='test2']");
|
276
|
-
await radioButton.click();
|
277
|
-
await page.waitForChanges();
|
278
|
-
await page.keyboard.press("Tab");
|
279
|
-
await page.waitForChanges();
|
280
|
-
await page.keyboard.press("t");
|
281
|
-
await page.keyboard.press("e");
|
282
|
-
await page.keyboard.press("s");
|
283
|
-
await page.keyboard.press("t");
|
284
|
-
await page.waitForChanges();
|
285
|
-
let value = await (await page.find('input[name="test"]')).getProperty("value");
|
286
|
-
expect(value).toBe("test");
|
287
|
-
await page.keyboard.press("Backspace");
|
288
|
-
await page.keyboard.press("Backspace");
|
289
|
-
await page.keyboard.press("Backspace");
|
290
|
-
await page.keyboard.press("Backspace");
|
291
|
-
await page.waitForChanges();
|
292
|
-
value = await (await page.find('input[name="test"]')).getProperty("value");
|
293
|
-
expect(value).toBe("test2");
|
294
|
-
});
|
295
|
-
it("should pass the value of radio button and textfield correctly when already selected and has a value in textfield", async () => {
|
296
|
-
const page = await newE2EPage();
|
297
|
-
await page.setContent(`<ic-radio-group label="test label" name="test">
|
298
|
-
<ic-radio-option value="test1" ></ic-radio-option>
|
299
|
-
<ic-radio-option value="test2" additional-field-display="dynamic" >
|
300
|
-
<ic-text-field
|
301
|
-
slot="additional-field"
|
302
|
-
label="Test label"
|
303
|
-
value="testValue1"
|
304
|
-
></ic-text-field>
|
305
|
-
</ic-radio-option>
|
306
|
-
</ic-radio-group>
|
307
|
-
`);
|
308
|
-
const radioButton = await page.find("ic-radio-option[value='test2']");
|
309
|
-
await radioButton.click();
|
310
|
-
await page.waitForChanges();
|
311
|
-
const value = await (await page.find('input[name="test"]')).getProperty("value");
|
312
|
-
expect(value).toBe("testValue1");
|
313
|
-
});
|
314
|
-
it("should reset to initial state on form reset event", async () => {
|
315
|
-
const page = await newE2EPage();
|
316
|
-
await page.setContent(`<form><ic-radio-group label="test label" name="test">
|
317
|
-
<ic-radio-option value="test1" ></ic-radio-option>
|
318
|
-
<ic-radio-option value="test2" selected></ic-radio-option>
|
319
|
-
</ic-radio-group>
|
320
|
-
<button type="reset" id="resetButton">Reset</button>
|
321
|
-
</form>
|
322
|
-
`);
|
323
|
-
await page.waitForChanges();
|
324
|
-
let radioButton1 = await page.find("ic-radio-option[value='test1']");
|
325
|
-
let radioButton2 = await page.find("ic-radio-option[value='test2']");
|
326
|
-
expect(await radioButton1.getProperty("selected")).toBe(false);
|
327
|
-
expect(await radioButton2.getProperty("selected")).toBe(true);
|
328
|
-
await radioButton1.click();
|
329
|
-
await page.waitForChanges();
|
330
|
-
radioButton1 = await page.find("ic-radio-option[value='test1']");
|
331
|
-
radioButton2 = await page.find("ic-radio-option[value='test2']");
|
332
|
-
expect(await radioButton1.getProperty("selected")).toBe(true);
|
333
|
-
expect(await radioButton2.getProperty("selected")).toBe(false);
|
334
|
-
const resetButton = await page.find("#resetButton");
|
335
|
-
await resetButton.click();
|
336
|
-
await page.waitForChanges();
|
337
|
-
radioButton1 = await page.find("ic-radio-option[value='test1']");
|
338
|
-
radioButton2 = await page.find("ic-radio-option[value='test2']");
|
339
|
-
expect(await radioButton1.getProperty("selected")).toBe(false);
|
340
|
-
expect(await radioButton2.getProperty("selected")).toBe(true);
|
341
|
-
});
|
342
|
-
});
|
343
|
-
//# sourceMappingURL=ic-radio-group.e2e.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"ic-radio-group.e2e.js","sourceRoot":"","sources":["../../../../../src/components/ic-radio-group/test/basic/ic-radio-group.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { newE2EPage } from \"@stencil/core/testing\";\n\nbeforeAll(() => {\n jest.spyOn(console, \"warn\").mockImplementation(jest.fn());\n});\n\ndescribe(\"ic-radio-group component\", () => {\n it(\"should have tabIndex of first option 0, when no options are selected\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" ></ic-radio-option> \n </ic-radio-group>\n `);\n await page.waitForChanges();\n\n const radioButton1 = await page.find(\"ic-radio-option[value='test1']\");\n const input1 = radioButton1.shadowRoot.querySelector(\"input\");\n\n const radioButton2 = await page.find(\"ic-radio-option[value='test2']\");\n const input2 = radioButton2.shadowRoot.querySelector(\"input\");\n\n expect(input1.tabIndex).toBe(0);\n expect(input2.tabIndex).toBe(-1);\n });\n it(\"should not be clickable when disabled\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" disabled></ic-radio-option> \n <ic-radio-option value=\"test2\" disabled></ic-radio-option> \n </ic-radio-group>\n `);\n\n const radioButton = await page.find(\"ic-radio-option[value='test2']\");\n await radioButton.click();\n await page.waitForChanges();\n expect(await radioButton.getProperty(\"selected\")).toBe(false);\n });\n it(\"should be selected when clicked\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" ></ic-radio-option> \n </ic-radio-group>\n `);\n let radioButton = await page.find(\"ic-radio-option[value='test2']\");\n await radioButton.click();\n await page.waitForChanges();\n\n expect(await radioButton.getProperty(\"selected\")).toBe(true);\n\n radioButton = await page.find(\"ic-radio-option[value='test2']\");\n const input = radioButton.shadowRoot.querySelector(\"input\");\n expect(input.tabIndex).toBe(0);\n });\n it(\"should enable textfield when associated option is selected when static\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" selected>\n <ic-text-field\n slot=\"additional-field\"\n label=\"Test label\"\n ></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>\n `);\n const radioButton = await page.find(\"ic-radio-option[value='test1']\");\n const textfield = await page.find(\"ic-text-field\");\n expect(textfield).not.toHaveAttribute(\"disabled\");\n\n await radioButton.click();\n await page.waitForChanges();\n\n expect(textfield).toHaveAttribute(\"disabled\");\n });\n it(\"should display textfield when associated option is selected when dynamic\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" additional-field-display=\"dynamic\">\n <ic-text-field\n slot=\"additional-field\"\n label=\"Test label\"\n ></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>\n `);\n\n const radioButton = await page.find(\"ic-radio-option[value='test2']\");\n\n let additionalFieldDisplay = await page.evaluate(() => {\n const additionalField = document\n .querySelector(\"ic-radio-option[value='test2']\")\n .shadowRoot.querySelector(\".dynamic-container\");\n\n return window.getComputedStyle(additionalField).display;\n });\n expect(additionalFieldDisplay).toBe(\"none\");\n\n await radioButton.click();\n await page.waitForChanges();\n\n additionalFieldDisplay = await page.evaluate(() => {\n const additionalField = document\n .querySelector(\"ic-radio-option[value='test2']\")\n .shadowRoot.querySelector(\".dynamic-container\");\n\n return window.getComputedStyle(additionalField).display;\n });\n expect(additionalFieldDisplay).not.toBe(\"none\");\n });\n it(\"should emit icChange event when radio option is selected\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" >\n </ic-radio-option> \n </ic-radio-group>\n `);\n const radioButton = await page.find(\"ic-radio-option[value='test2']\");\n const icChange = await page.spyOnEvent(\"icChange\");\n\n await radioButton.click();\n await page.waitForChanges();\n\n const radioElement = await page.evaluate(\n () =>\n document.querySelector(\n \"ic-radio-option[value='test2']\"\n ) as HTMLIcRadioOptionElement\n );\n\n expect(icChange).toHaveReceivedEventDetail({\n selectedOption: {\n radio: radioElement,\n },\n value: \"test2\",\n });\n });\n it(\"should emit icCheck event when radio option is selected\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" ></ic-radio-option> \n </ic-radio-group>\n `);\n const radioButton = await page.find(\"ic-radio-option[value='test2']\");\n const icChecked = await page.spyOnEvent(\"icCheck\");\n\n await radioButton.click();\n await page.waitForChanges();\n\n expect(icChecked).toHaveReceivedEventDetail({\n value: \"test2\",\n });\n });\n it(\"should select when spacebar is pressed\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" >\n </ic-radio-option> \n </ic-radio-group>\n `);\n const radioButton = await page.find(\"ic-radio-option[value='test1']\");\n expect(await radioButton.getProperty(\"selected\")).toBe(false);\n\n await page.keyboard.press(\"Tab\");\n await radioButton.press(\" \");\n await page.waitForChanges();\n\n expect(await radioButton.getProperty(\"selected\")).toBe(true);\n const input = radioButton.shadowRoot.querySelector(\"input\");\n expect(input.tabIndex).toBe(0);\n });\n it(\"should select next radio option down when arrow down is used\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" ></ic-radio-option> \n <ic-radio-option value=\"test3\" ></ic-radio-option> \n </ic-radio-group>\n `);\n const radioButton1 = await page.find(\"ic-radio-option[value='test1']\");\n const radioButton2 = await page.find(\"ic-radio-option[value='test2']\");\n\n await page.keyboard.press(\"Tab\");\n await radioButton1.press(\" \");\n await page.waitForChanges();\n await radioButton1.press(\"ArrowDown\");\n await page.waitForChanges();\n\n const input = radioButton2.shadowRoot.querySelector(\"input\");\n expect(input.tabIndex).toBe(0);\n });\n it(\"should select next radio option down when arrow right is used\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" ></ic-radio-option> \n <ic-radio-option value=\"test3\" ></ic-radio-option> \n </ic-radio-group>\n `);\n const radioButton1 = await page.find(\"ic-radio-option[value='test1']\");\n const radioButton2 = await page.find(\"ic-radio-option[value='test2']\");\n\n await page.keyboard.press(\"Tab\");\n await radioButton1.press(\" \");\n await page.waitForChanges();\n await radioButton1.press(\"ArrowRight\");\n await page.waitForChanges();\n\n const input = radioButton2.shadowRoot.querySelector(\"input\");\n expect(input.tabIndex).toBe(0);\n });\n it(\"should select next radio option down when arrow up is used\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" ></ic-radio-option> \n <ic-radio-option value=\"test3\" ></ic-radio-option> \n </ic-radio-group>\n `);\n\n const radioButton2 = await page.find(\"ic-radio-option[value='test2']\");\n\n const radioButton1 = await page.find(\"ic-radio-option[value='test1']\");\n\n await radioButton2.click();\n await page.waitForChanges();\n await radioButton2.press(\"ArrowUp\");\n await page.waitForChanges();\n\n const input = radioButton1.shadowRoot.querySelector(\"input\");\n expect(input.tabIndex).toBe(0);\n });\n it(\"should select next radio option down when arrow left is used\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" ></ic-radio-option> \n <ic-radio-option value=\"test3\" ></ic-radio-option> \n </ic-radio-group>\n `);\n\n const radioButton2 = await page.find(\"ic-radio-option[value='test2']\");\n\n const radioButton1 = await page.find(\"ic-radio-option[value='test1']\");\n\n await radioButton2.click();\n await page.waitForChanges();\n await radioButton2.press(\"ArrowLeft\");\n await page.waitForChanges();\n\n const input = radioButton1.shadowRoot.querySelector(\"input\");\n expect(input.tabIndex).toBe(0);\n });\n it(\"should work in a form\", async () => {\n const page = await newE2EPage();\n\n await page.setContent(` <form>\n <ic-radio-group label=\"this is a label\" name=\"1\">\n <ic-radio-option\n value=\"valueName1\"\n label=\"Unselected / Default\"\n ></ic-radio-option>\n <ic-radio-option\n value=\"valueName2\"\n label=\"Selected / Default\"\n selected\n ></ic-radio-option>\n <ic-radio-option\n value=\"valueName3\"\n label=\"Unselected / Disabled\"\n disabled\n ></ic-radio-option>\n </ic-radio-group>\n <input type=\"submit\" value=\"Submit\">\n </form>\n <script>document.querySelector('form').addEventListener('submit', (ev) => {\n ev.preventDefault();\n })\n </script>\n `);\n await page.waitForChanges();\n\n const radioButton = await page.find(\"ic-radio-option[value='valueName1']\");\n\n await radioButton.click();\n await page.waitForChanges();\n const value = await (\n await page.find('input[name=\"1\"]')\n ).getProperty(\"value\");\n\n expect(value).toBe(\"valueName1\");\n });\n it(\"should pass the value of radio button correctly when already selected\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" selected ></ic-radio-option> \n </ic-radio-group>\n `);\n\n await page.waitForChanges();\n\n const value = await (\n await page.find('input[name=\"test\"]')\n ).getProperty(\"value\");\n\n expect(value).toBe(\"test2\");\n });\n\n it(\"should pass the value of radio button and textfield correctly when already selected\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" additional-field-display=\"dynamic\" >\n <ic-text-field\n slot=\"additional-field\"\n label=\"Test label\"\n ></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>\n `);\n const radioButton = await page.find(\"ic-radio-option[value='test2']\");\n\n await radioButton.click();\n await page.waitForChanges();\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n await page.keyboard.press(\"t\");\n await page.keyboard.press(\"e\");\n await page.keyboard.press(\"s\");\n await page.keyboard.press(\"t\");\n\n await page.waitForChanges();\n\n let value = await (\n await page.find('input[name=\"test\"]')\n ).getProperty(\"value\");\n\n expect(value).toBe(\"test\");\n\n await page.keyboard.press(\"Backspace\");\n await page.keyboard.press(\"Backspace\");\n await page.keyboard.press(\"Backspace\");\n await page.keyboard.press(\"Backspace\");\n\n await page.waitForChanges();\n\n value = await (await page.find('input[name=\"test\"]')).getProperty(\"value\");\n\n expect(value).toBe(\"test2\");\n });\n\n it(\"should pass the value of radio button and textfield correctly when already selected and has a value in textfield\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" additional-field-display=\"dynamic\" >\n <ic-text-field\n slot=\"additional-field\"\n label=\"Test label\"\n value=\"testValue1\"\n ></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>\n `);\n const radioButton = await page.find(\"ic-radio-option[value='test2']\");\n\n await radioButton.click();\n await page.waitForChanges();\n\n const value = await (\n await page.find('input[name=\"test\"]')\n ).getProperty(\"value\");\n\n expect(value).toBe(\"testValue1\");\n });\n\n it(\"should reset to initial state on form reset event\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<form><ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" selected></ic-radio-option> \n </ic-radio-group>\n <button type=\"reset\" id=\"resetButton\">Reset</button>\n </form>\n `);\n\n await page.waitForChanges();\n\n let radioButton1 = await page.find(\"ic-radio-option[value='test1']\");\n let radioButton2 = await page.find(\"ic-radio-option[value='test2']\");\n\n expect(await radioButton1.getProperty(\"selected\")).toBe(false);\n expect(await radioButton2.getProperty(\"selected\")).toBe(true);\n\n await radioButton1.click();\n await page.waitForChanges();\n\n radioButton1 = await page.find(\"ic-radio-option[value='test1']\");\n radioButton2 = await page.find(\"ic-radio-option[value='test2']\");\n\n expect(await radioButton1.getProperty(\"selected\")).toBe(true);\n expect(await radioButton2.getProperty(\"selected\")).toBe(false);\n\n const resetButton = await page.find(\"#resetButton\");\n await resetButton.click();\n\n await page.waitForChanges();\n\n radioButton1 = await page.find(\"ic-radio-option[value='test1']\");\n radioButton2 = await page.find(\"ic-radio-option[value='test2']\");\n\n expect(await radioButton1.getProperty(\"selected\")).toBe(false);\n expect(await radioButton2.getProperty(\"selected\")).toBe(true);\n });\n});\n"]}
|