@@ -3132,7 +3132,7 @@ describe('Listeners', () => {
31323132 } ) ;
31333133 } ) ;
31343134
3135- describe ( 'Will and did finish transaction' , ( ) => {
3135+ describe ( 'transaction' , ( ) => {
31363136 beforeEach ( ( ) => {
31373137 store = createStore ( ) ;
31383138 listener = createStoreListener ( store ) ;
@@ -4901,6 +4901,45 @@ describe('Mutating listeners', () => {
49014901 } ) ;
49024902 } ) ;
49034903
4904+ describe ( 'transaction' , ( ) => {
4905+ beforeEach ( ( ) => {
4906+ store = createStore ( ) ;
4907+ } ) ;
4908+
4909+ test ( 'start can mutate' , ( ) => {
4910+ const listener = jest . fn ( ( ) => {
4911+ store . setValue ( 'mutated' , true ) ;
4912+ } ) ;
4913+ store . addStartTransactionListener ( listener ) ;
4914+ store . setCell ( 't1' , 'r1' , 'c1' , 'r1' ) ;
4915+ expect ( listener ) . toHaveBeenCalledTimes ( 1 ) ;
4916+ expect ( store . getTables ( ) ) . toEqual ( { t1 : { r1 : { c1 : 'r1' } } } ) ;
4917+ expect ( store . getValues ( ) ) . toEqual ( { mutated : true } ) ;
4918+ } ) ;
4919+
4920+ test ( 'willFinish can mutate' , ( ) => {
4921+ const listener = jest . fn ( ( ) => {
4922+ store . setValue ( 'mutated' , true ) ;
4923+ } ) ;
4924+ store . addWillFinishTransactionListener ( listener ) ;
4925+ store . setCell ( 't1' , 'r1' , 'c1' , 'r1' ) ;
4926+ expect ( listener ) . toHaveBeenCalledTimes ( 1 ) ;
4927+ expect ( store . getTables ( ) ) . toEqual ( { t1 : { r1 : { c1 : 'r1' } } } ) ;
4928+ expect ( store . getValues ( ) ) . toEqual ( { mutated : true } ) ;
4929+ } ) ;
4930+
4931+ test ( 'didFinish cannot mutate' , ( ) => {
4932+ const listener = jest . fn ( ( ) => {
4933+ store . setValue ( 'mutated' , true ) ;
4934+ } ) ;
4935+ store . addDidFinishTransactionListener ( listener ) ;
4936+ store . setCell ( 't1' , 'r1' , 'c1' , 'r1' ) ;
4937+ expect ( listener ) . toHaveBeenCalledTimes ( 1 ) ;
4938+ expect ( store . getTables ( ) ) . toEqual ( { t1 : { r1 : { c1 : 'r1' } } } ) ;
4939+ expect ( store . getValues ( ) ) . toEqual ( { } ) ;
4940+ } ) ;
4941+ } ) ;
4942+
49044943 describe ( 'Miscellaneous' , ( ) => {
49054944 beforeEach ( ( ) => {
49064945 store = createStore ( ) ;
0 commit comments