@@ -66,7 +66,7 @@ describe('kup-input-panel', () => {
66
66
expect ( label ) . toEqualText ( data . columns [ i ] . title ) ;
67
67
68
68
const input = await textField . find ( 'input' ) ;
69
- expect ( label ) . not . toBeNull ( ) ;
69
+ expect ( input ) . not . toBeNull ( ) ;
70
70
const value = await input . getProperty ( 'value' ) ;
71
71
expect ( value ) . toBe ( '' ) ;
72
72
@@ -274,9 +274,7 @@ describe('kup-input-panel', () => {
274
274
it ( 'renders checkbox' , async ( ) => {
275
275
const page = await newE2EPage ( ) ;
276
276
277
- await page . setContent (
278
- '<kup-input-panel></kup-input-panel> <div kup-dynamic-position></div>'
279
- ) ;
277
+ await page . setContent ( '<kup-input-panel></kup-input-panel>' ) ;
280
278
const inputPanel = await page . find ( 'kup-input-panel' ) ;
281
279
const data = {
282
280
columns : [
@@ -323,4 +321,67 @@ describe('kup-input-panel', () => {
323
321
const value = await input . getProperty ( 'value' ) ;
324
322
expect ( value ) . toBe ( 'off' ) ;
325
323
} ) ;
324
+
325
+ it ( 'renders radio buttons' , async ( ) => {
326
+ const page = await newE2EPage ( ) ;
327
+
328
+ await page . setContent ( '<kup-input-panel></kup-input-panel>' ) ;
329
+ const inputPanel = await page . find ( 'kup-input-panel' ) ;
330
+ const data = {
331
+ columns : [
332
+ {
333
+ name : 'RAD' ,
334
+ title : 'Radio Buttons' ,
335
+ visible : true ,
336
+ } ,
337
+ ] ,
338
+ rows : [
339
+ {
340
+ cells : {
341
+ RAD : {
342
+ value : '1' ,
343
+ options : [ '1' , '2' , '3' , '4' ] ,
344
+ editable : true ,
345
+ shape : 'RAD' ,
346
+ } ,
347
+ } ,
348
+ } ,
349
+ ] ,
350
+ } ;
351
+
352
+ inputPanel . setProperty ( 'data' , data ) ;
353
+
354
+ await page . waitForChanges ( ) ;
355
+
356
+ const inputPanelContent = await page . find (
357
+ 'kup-input-panel >>> form.input-panel'
358
+ ) ;
359
+ expect ( inputPanelContent ) . not . toBeNull ( ) ;
360
+
361
+ const radioButtonsCell = await inputPanelContent . find (
362
+ '.f-cell.radio-cell'
363
+ ) ;
364
+ expect ( radioButtonsCell ) . not . toBeNull ( ) ;
365
+
366
+ const radioOptions = data . rows [ 0 ] . cells . RAD . options ;
367
+ const radioButtons = await radioButtonsCell . findAll ( 'div.form-field' ) ;
368
+ expect ( radioButtons ) . toHaveLength ( radioOptions . length ) ;
369
+
370
+ for ( const [ i , radioButton ] of radioButtons . entries ( ) ) {
371
+ const label = await radioButton . find ( 'label' ) ;
372
+ expect ( label ) . not . toBeNull ( ) ;
373
+ expect ( label ) . toEqualText ( radioOptions [ i ] ) ;
374
+
375
+ const input = await radioButton . find ( 'input' ) ;
376
+ expect ( input ) . not . toBeNull ( ) ;
377
+
378
+ const value = await input . getProperty ( 'value' ) ;
379
+ expect ( value ) . toBe ( radioOptions [ i ] ) ;
380
+
381
+ if ( data . rows [ 0 ] . cells . RAD . value === radioOptions [ i ] ) {
382
+ const radioButtonCircle = await radioButton . find ( 'div.radio' ) ;
383
+ expect ( radioButtonCircle ) . toHaveClass ( 'radio--checked' ) ;
384
+ }
385
+ }
386
+ } ) ;
326
387
} ) ;
0 commit comments