File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -1859,6 +1859,47 @@ describe("store:", () => {
18591859 expect ( el . draft ) . toEqual ( { value : "test 2" } ) ;
18601860 } ) ;
18611861 } ) ;
1862+
1863+ it ( "in draft mode sets nested array model" , async ( ) => {
1864+ const NestedModel = {
1865+ id : true ,
1866+ value : "" ,
1867+ } ;
1868+
1869+ Model = {
1870+ value : "test" ,
1871+ nested : [ NestedModel ] ,
1872+ [ store . connect ] : {
1873+ get : ( ) => {
1874+ return { value : "test 2" } ;
1875+ } ,
1876+ set : ( id , values ) => values ,
1877+ } ,
1878+ } ;
1879+
1880+ define ( {
1881+ tag : "test-store-factory-singleton-draft-nested-array" ,
1882+ draft : store ( Model , { draft : true } ) ,
1883+ } ) ;
1884+
1885+ el = document . createElement (
1886+ "test-store-factory-singleton-draft-nested-array" ,
1887+ ) ;
1888+
1889+ expect ( el . draft ) . toEqual ( { value : "test 2" , nested : [ ] } ) ;
1890+
1891+ const nestedModel = await store . set ( NestedModel , { value : "nested" } ) ;
1892+ const updatedDraft = await store . set ( el . draft , {
1893+ nested : [ nestedModel ] ,
1894+ } ) ;
1895+
1896+ expect ( updatedDraft ) . toEqual ( {
1897+ value : "test 2" ,
1898+ nested : [ { id : nestedModel . id , value : "nested" } ] ,
1899+ } ) ;
1900+
1901+ expect ( updatedDraft . nested [ 0 ] ) . toBe ( nestedModel ) ;
1902+ } ) ;
18621903 } ) ;
18631904
18641905 describe ( "for listing model" , ( ) => {
You can’t perform that action at this time.
0 commit comments