@@ -89,6 +89,52 @@ describe('InteractsWithQueryBuilder.vue', () => {
89
89
) ;
90
90
} ) ;
91
91
92
+ it ( 'it provides helper method for table header cells' , ( ) => {
93
+ const queryBuilderProps = {
94
+ sort : "name" ,
95
+ columns : {
96
+ name : { key : "name" , enabled : true } ,
97
+ email : { key : "email" , enabled : false } ,
98
+ country : { key : "country" , enabled : false } ,
99
+ } ,
100
+ } ;
101
+
102
+ const component = mount ( InteractsWithQueryBuilder , {
103
+ propsData : {
104
+ queryBuilderProps,
105
+ } ,
106
+
107
+ render ( ) { }
108
+ } ) ;
109
+
110
+ expect ( component . vm . sortableHeader ( 'name' ) . sortable ) . toBeTruthy ( ) ;
111
+ expect ( component . vm . staticHeader ( 'name' ) . sortable ) . toBeFalsy ( ) ;
112
+
113
+ expect ( component . vm . sortableHeader ( 'name' ) . sort ) . toEqual ( 'asc' ) ;
114
+ expect ( component . vm . sortableHeader ( 'email' ) . sort ) . toBeFalsy ( ) ;
115
+ expect ( component . vm . sortableHeader ( 'country' ) . sort ) . toBeFalsy ( ) ;
116
+ } ) ;
117
+
118
+ it ( 'it provides helper method for table header cells to switch to sort order' , ( ) => {
119
+ const queryBuilderProps = {
120
+ sort : "name" ,
121
+ columns : {
122
+ name : { key : "name" , enabled : true } ,
123
+ } ,
124
+ } ;
125
+
126
+ const component = mount ( InteractsWithQueryBuilder , {
127
+ propsData : {
128
+ queryBuilderProps,
129
+ } ,
130
+
131
+ render ( ) { }
132
+ } ) ;
133
+
134
+ component . vm . sortableHeader ( 'name' ) . onSort ( 'name' ) ;
135
+ expect ( component . vm . sortableHeader ( 'name' ) . sort ) . toEqual ( 'desc' ) ;
136
+ } ) ;
137
+
92
138
it ( 'it toggles a column without changing the page' , ( ) => {
93
139
const queryBuilderProps = {
94
140
columns : {
0 commit comments