@@ -201,3 +201,45 @@ describe('View creation', () => {
201201 await expect ( view . loadChildViews ?.( { } as unknown as View ) ) . resolves . toBe ( undefined )
202202 } )
203203} )
204+
205+ describe ( 'View update' , ( ) => {
206+ test ( 'Update a View' , ( ) => {
207+ const view = new View ( {
208+ id : 'test' ,
209+ name : 'Test' ,
210+ caption : 'Test caption' ,
211+ emptyTitle : 'Test empty title' ,
212+ emptyCaption : 'Test empty caption' ,
213+ getContents : ( ) => Promise . reject ( new Error ( ) ) ,
214+ hidden : true ,
215+ icon : '<svg></svg>' ,
216+ order : 1 ,
217+ params : { } ,
218+ columns : [ ] ,
219+ emptyView : ( ) => { } ,
220+ parent : 'parent' ,
221+ sticky : false ,
222+ expanded : false ,
223+ defaultSortKey : 'key' ,
224+ loadChildViews : async ( ) => { } ,
225+ } )
226+
227+ view . update ( {
228+ name : 'Updated Test' ,
229+ order : 2 ,
230+ icon : '<svg>updated</svg>' ,
231+ caption : 'Updated caption' ,
232+ emptyTitle : 'Updated empty title' ,
233+ emptyCaption : 'Updated empty caption' ,
234+ } )
235+
236+ expect ( view . name ) . toBe ( 'Updated Test' )
237+ expect ( view . order ) . toBe ( 2 )
238+ expect ( view . icon ) . toBe ( '<svg>updated</svg>' )
239+ expect ( view . caption ) . toBe ( 'Updated caption' )
240+ expect ( view . emptyTitle ) . toBe ( 'Updated empty title' )
241+ expect ( view . emptyCaption ) . toBe ( 'Updated empty caption' )
242+
243+ expect ( ( ) => view . update ( { id : 'new-id' } ) ) . toThrowError ( 'Cannot change the view id after creation' )
244+ } )
245+ } )
0 commit comments