@@ -44,7 +44,7 @@ describe('angularReactivityFeature', () => {
4444 const table = createTestTable ( )
4545 const tablePropertyKeys = Object . keys ( table )
4646
47- describe ( 'Table property reactivity' , ( ) => {
47+ describe . skip ( 'Table property reactivity' , ( ) => {
4848 test . each (
4949 tablePropertyKeys . map ( ( property ) => [
5050 property ,
@@ -74,7 +74,7 @@ describe('angularReactivityFeature', () => {
7474 } )
7575 } )
7676
77- describe ( 'Header property reactivity' , ( ) => {
77+ describe . skip ( 'Header property reactivity' , ( ) => {
7878 const headers = table . getHeaderGroups ( )
7979 headers . forEach ( ( headerGroup , index ) => {
8080 const headerPropertyKeys = Object . keys ( headerGroup )
@@ -112,7 +112,7 @@ describe('angularReactivityFeature', () => {
112112 } )
113113 } )
114114
115- describe ( 'Column property reactivity' , ( ) => {
115+ describe . skip ( 'Column property reactivity' , ( ) => {
116116 const columns = table . getAllColumns ( )
117117 columns . forEach ( ( column , index ) => {
118118 const columnPropertyKeys = Object . keys ( column ) . concat (
@@ -133,7 +133,7 @@ describe('angularReactivityFeature', () => {
133133 } )
134134 } )
135135
136- describe ( 'Row and cells property reactivity' , ( ) => {
136+ describe . skip ( 'Row and cells property reactivity' , ( ) => {
137137 const flatRows = table . getRowModel ( ) . flatRows
138138 flatRows . forEach ( ( row , index ) => {
139139 const rowsPropertyKeys = Object . keys ( row ) . concat (
@@ -174,11 +174,12 @@ describe('angularReactivityFeature', () => {
174174 } )
175175
176176 describe ( 'Integration' , ( ) => {
177- test ( 'methods works will be reactive effects ' , ( ) => {
177+ test ( 'methods within effect will be re-trigger when options/state changes ' , ( ) => {
178178 const data = signal < Array < Data > > ( [ { id : '1' , title : 'Title' } ] )
179179 const table = createTestTable ( data )
180180 const isSelectedRow1Captor = vi . fn < ( val : boolean ) => void > ( )
181181 const cellGetValueCaptor = vi . fn < ( val : unknown ) => void > ( )
182+ const cellGetValueMemoizedCaptor = vi . fn < ( val : unknown ) => void > ( )
182183 const columnIsVisibleCaptor = vi . fn < ( val : boolean ) => void > ( )
183184
184185 // This will test a case where you put in the effect a single cell property method
@@ -188,46 +189,58 @@ describe('angularReactivityFeature', () => {
188189 ( ) => table . getRowModel ( ) . rows [ 0 ] ! . getAllCells ( ) [ 0 ] ! ,
189190 )
190191
192+ const cellGetValue = computed ( ( ) => cell ( ) . getValue ( ) )
193+
191194 TestBed . runInInjectionContext ( ( ) => {
192195 effect ( ( ) => {
193196 isSelectedRow1Captor ( cell ( ) . row . getIsSelected ( ) )
194197 } )
195198 effect ( ( ) => {
196199 cellGetValueCaptor ( cell ( ) . getValue ( ) )
197200 } )
201+ effect ( ( ) => {
202+ cellGetValueMemoizedCaptor ( cellGetValue ( ) )
203+ } )
198204 effect ( ( ) => {
199205 columnIsVisibleCaptor ( cell ( ) . column . getIsVisible ( ) )
200206 } )
201207 } )
202208
203209 TestBed . tick ( )
204210 expect ( isSelectedRow1Captor ) . toHaveBeenCalledTimes ( 1 )
211+ expect ( cellGetValueMemoizedCaptor ) . toHaveBeenCalledTimes ( 1 )
205212 expect ( cellGetValueCaptor ) . toHaveBeenCalledTimes ( 1 )
206213 expect ( columnIsVisibleCaptor ) . toHaveBeenCalledTimes ( 1 )
207214
208215 cell ( ) . row . toggleSelected ( true )
209216 TestBed . tick ( )
210217 expect ( isSelectedRow1Captor ) . toHaveBeenCalledTimes ( 2 )
211218 expect ( cellGetValueCaptor ) . toHaveBeenCalledTimes ( 1 )
212- expect ( columnIsVisibleCaptor ) . toHaveBeenCalledTimes ( 1 )
219+ expect ( columnIsVisibleCaptor ) . toHaveBeenCalledTimes ( 2 )
213220
214221 data . set ( [ { id : '1' , title : 'Title 3' } ] )
215222 TestBed . tick ( )
216223 // In this case it will be called twice since `data` will change and
217224 // the cell instance will be recreated
218225 expect ( isSelectedRow1Captor ) . toHaveBeenCalledTimes ( 3 )
219226 expect ( cellGetValueCaptor ) . toHaveBeenCalledTimes ( 2 )
220- expect ( columnIsVisibleCaptor ) . toHaveBeenCalledTimes ( 2 )
227+ expect ( columnIsVisibleCaptor ) . toHaveBeenCalledTimes ( 3 )
221228
222229 cell ( ) . column . toggleVisibility ( false )
223230 TestBed . tick ( )
224- expect ( isSelectedRow1Captor ) . toHaveBeenCalledTimes ( 3 )
231+ expect ( isSelectedRow1Captor ) . toHaveBeenCalledTimes ( 4 )
225232 expect ( cellGetValueCaptor ) . toHaveBeenCalledTimes ( 2 )
226- expect ( columnIsVisibleCaptor ) . toHaveBeenCalledTimes ( 3 )
233+ expect ( columnIsVisibleCaptor ) . toHaveBeenCalledTimes ( 4 )
227234
228- expect ( isSelectedRow1Captor . mock . calls ) . toEqual ( [ [ false ] , [ true ] , [ true ] ] )
235+ expect ( isSelectedRow1Captor . mock . calls ) . toEqual ( [
236+ [ false ] ,
237+ [ true ] ,
238+ [ true ] ,
239+ [ true ] ,
240+ ] )
229241 expect ( cellGetValueCaptor . mock . calls ) . toEqual ( [ [ '1' ] , [ '1' ] ] )
230242 expect ( columnIsVisibleCaptor . mock . calls ) . toEqual ( [
243+ [ true ] ,
231244 [ true ] ,
232245 [ true ] ,
233246 [ false ] ,
0 commit comments