@@ -669,6 +669,12 @@ describe('dehydration methods', () => {
669669} ) ;
670670
671671describe ( 'hydration methods' , ( ) => {
672+ const model = irisGridTestUtils . makeModel (
673+ irisGridTestUtils . makeTable ( {
674+ columns : irisGridTestUtils . makeColumns ( 5 , 'name_' ) ,
675+ } )
676+ ) ;
677+
672678 it . each ( [
673679 [
674680 'hydrateIrisGridPanelStateV1' ,
@@ -690,18 +696,20 @@ describe('hydration methods', () => {
690696 ] ,
691697 ] ) ( '%s invalid column error' , ( _label , panelState ) => {
692698 expect ( ( ) =>
693- IrisGridUtils . hydrateIrisGridPanelState (
694- irisGridTestUtils . makeModel (
695- irisGridTestUtils . makeTable ( {
696- columns : irisGridTestUtils . makeColumns ( 5 , 'name_' ) ,
697- } )
698- ) ,
699- panelState
700- )
699+ IrisGridUtils . hydrateIrisGridPanelState ( model , panelState )
701700 ) . toThrow ( 'Invalid partition column INVALID' ) ;
702701 } ) ;
703702
704703 it . each ( [
704+ [
705+ 'hydrateIrisGridPanelStateV1 null partition column' ,
706+ {
707+ isSelectingPartition : false ,
708+ partition : null ,
709+ partitionColumn : null ,
710+ advancedSettings : [ ] ,
711+ } ,
712+ ] ,
705713 [
706714 'hydrateIrisGridPanelStateV1 null partition' ,
707715 {
@@ -715,7 +723,7 @@ describe('hydration methods', () => {
715723 'hydrateIrisGridPanelStateV1 unselected partition' ,
716724 {
717725 isSelectingPartition : false ,
718- partition : '' ,
726+ partition : 'a ' ,
719727 partitionColumn : 'name_0' ,
720728 advancedSettings : [ ] ,
721729 } ,
@@ -724,7 +732,7 @@ describe('hydration methods', () => {
724732 'hydrateIrisGridPanelStateV1 one selected partition' ,
725733 {
726734 isSelectingPartition : true ,
727- partition : '' ,
735+ partition : 'a ' ,
728736 partitionColumn : 'name_0' ,
729737 advancedSettings : [ ] ,
730738 } ,
@@ -775,18 +783,17 @@ describe('hydration methods', () => {
775783 } ,
776784 ] ,
777785 ] ) ( '%s partitions and columns match' , ( _label , panelState ) => {
778- const result = IrisGridUtils . hydrateIrisGridPanelState (
779- irisGridTestUtils . makeModel (
780- irisGridTestUtils . makeTable ( {
781- columns : irisGridTestUtils . makeColumns ( 5 , 'name_' ) ,
782- } )
783- ) ,
784- panelState
785- ) ;
786+ const result = IrisGridUtils . hydrateIrisGridPanelState ( model , panelState ) ;
786787 expect ( result . isSelectingPartition ) . toBe ( panelState . isSelectingPartition ) ;
787788 if ( isPanelStateV1 ( panelState ) ) {
788789 expect ( result . partitions ) . toEqual ( [ panelState . partition ] ) ;
789- expect ( result . partitionColumns [ 0 ] . name ) . toBe ( panelState . partitionColumn ) ;
790+ if ( panelState . partitionColumn !== null ) {
791+ expect ( result . partitionColumns [ 0 ] . name ) . toBe (
792+ panelState . partitionColumn
793+ ) ;
794+ } else {
795+ expect ( result . partitionColumns ) . toEqual ( [ ] ) ;
796+ }
790797 } else {
791798 expect ( result . partitions ) . toEqual ( panelState . partitions ) ;
792799 panelState . partitionColumns . forEach ( ( partition , index ) => {
0 commit comments