@@ -101,34 +101,54 @@ describe('CdkTable', () => {
101
101
it ( 'should match the right table content with dynamic data' , ( ) => {
102
102
let initialDataLength = dataSource . data . length ;
103
103
expect ( dataSource . data . length ) . toBe ( 3 ) ;
104
- let headerContent = [ 'Column A' , 'Column B' , 'Column C' ] ;
105
104
106
- let initialTableContent = [ headerContent ] ;
107
- dataSource . data . forEach ( rowData => initialTableContent . push ( [ rowData . a , rowData . b , rowData . c ] ) ) ;
108
- expect ( tableElement ) . toMatchTableContent ( initialTableContent ) ;
105
+ let data = dataSource . data ;
106
+ expect ( tableElement ) . toMatchTableContent ( [
107
+ [ 'Column A' , 'Column B' , 'Column C' ] ,
108
+ [ data [ 0 ] . a , data [ 0 ] . b , data [ 0 ] . c ] ,
109
+ [ data [ 1 ] . a , data [ 1 ] . b , data [ 1 ] . c ] ,
110
+ [ data [ 2 ] . a , data [ 2 ] . b , data [ 2 ] . c ] ,
111
+ ] ) ;
109
112
110
113
// Add data to the table and recreate what the rendered output should be.
111
114
dataSource . addData ( ) ;
112
115
expect ( dataSource . data . length ) . toBe ( initialDataLength + 1 ) ; // Make sure data was added
113
116
114
- let changedTableContent = [ headerContent ] ;
115
- dataSource . data . forEach ( rowData => changedTableContent . push ( [ rowData . a , rowData . b , rowData . c ] ) ) ;
116
- expect ( tableElement ) . toMatchTableContent ( changedTableContent ) ;
117
+ data = dataSource . data ;
118
+ expect ( tableElement ) . toMatchTableContent ( [
119
+ [ 'Column A' , 'Column B' , 'Column C' ] ,
120
+ [ data [ 0 ] . a , data [ 0 ] . b , data [ 0 ] . c ] ,
121
+ [ data [ 1 ] . a , data [ 1 ] . b , data [ 1 ] . c ] ,
122
+ [ data [ 2 ] . a , data [ 2 ] . b , data [ 2 ] . c ] ,
123
+ [ data [ 3 ] . a , data [ 3 ] . b , data [ 3 ] . c ] ,
124
+ ] ) ;
117
125
} ) ;
118
126
119
127
it ( 'should be able to dynamically change the columns for header and rows' , ( ) => {
120
128
expect ( dataSource . data . length ) . toBe ( 3 ) ;
121
129
122
- let initialTableContent = [ [ 'Column A' , 'Column B' , 'Column C' ] ] ;
123
- dataSource . data . forEach ( rowData => initialTableContent . push ( [ rowData . a , rowData . b , rowData . c ] ) ) ;
124
- expect ( tableElement ) . toMatchTableContent ( initialTableContent ) ;
130
+ let data = dataSource . data ;
131
+ expect ( tableElement ) . toMatchTableContent ( [
132
+ [ 'Column A' , 'Column B' , 'Column C' ] ,
133
+ [ data [ 0 ] . a , data [ 0 ] . b , data [ 0 ] . c ] ,
134
+ [ data [ 1 ] . a , data [ 1 ] . b , data [ 1 ] . c ] ,
135
+ [ data [ 2 ] . a , data [ 2 ] . b , data [ 2 ] . c ] ,
136
+ ] ) ;
125
137
126
138
// Remove column_a and swap column_b/column_c.
127
139
component . columnsToRender = [ 'column_c' , 'column_b' ] ;
128
140
fixture . detectChanges ( ) ;
129
141
130
142
let changedTableContent = [ [ 'Column C' , 'Column B' ] ] ;
131
143
dataSource . data . forEach ( rowData => changedTableContent . push ( [ rowData . c , rowData . b ] ) ) ;
144
+
145
+ data = dataSource . data ;
146
+ expect ( tableElement ) . toMatchTableContent ( [
147
+ [ 'Column C' , 'Column B' ] ,
148
+ [ data [ 0 ] . c , data [ 0 ] . b ] ,
149
+ [ data [ 1 ] . c , data [ 1 ] . b ] ,
150
+ [ data [ 2 ] . c , data [ 2 ] . b ] ,
151
+ ] ) ;
132
152
expect ( tableElement ) . toMatchTableContent ( changedTableContent ) ;
133
153
} ) ;
134
154
} ) ;
0 commit comments