@@ -125,7 +125,39 @@ describe("change log integration test", () => {
125
125
126
126
delete cds . services . AdminService . entities . Order . elements . netAmount [ "@changelog" ] ;
127
127
delete cds . services . AdminService . entities . Order . elements . isUsed [ "@changelog" ] ;
128
- } ) ;
128
+ } ) ;
129
+
130
+ it ( "1.9 For DateTime and Timestamp, support for input via Date objects." , async ( ) => {
131
+ cds . env . requires [ "change-tracking" ] . preserveDeletes = true ;
132
+ cds . services . AdminService . entities . RootEntity . elements . dateTime [ "@changelog" ] = true ;
133
+ cds . services . AdminService . entities . RootEntity . elements . timestamp [ "@changelog" ] = true ;
134
+ const rootEntityData = [
135
+ {
136
+ ID : "64625905-c234-4d0d-9bc1-283ee8940717" ,
137
+ dateTime : new Date ( "2024-10-16T08:53:48Z" ) ,
138
+ timestamp : new Date ( "2024-10-23T08:53:54.000Z" )
139
+ }
140
+ ]
141
+ await INSERT . into ( adminService . entities . RootEntity ) . entries ( rootEntityData ) ;
142
+ let changes = await adminService . run ( SELECT . from ( ChangeView ) . where ( {
143
+ entity : "sap.capire.bookshop.RootEntity" ,
144
+ attribute : "dateTime" ,
145
+ } ) ) ;
146
+ expect ( changes . length ) . to . equal ( 1 ) ;
147
+ let change = changes [ 0 ] ;
148
+ expect ( change . entityKey ) . to . equal ( "64625905-c234-4d0d-9bc1-283ee8940717" ) ;
149
+ expect ( change . attribute ) . to . equal ( "dateTime" ) ;
150
+ expect ( change . modification ) . to . equal ( "Create" ) ;
151
+ expect ( change . valueChangedFrom ) . to . equal ( "" ) ;
152
+ /**
153
+ * REVISIT: Currently, when using '@cap-js/sqlite' or '@cap-js/hana' and inputting values of type Date in javascript,
154
+ * there is an issue with inconsistent formats before and after, which requires a fix from cds-dbs (Issue-873).
155
+ */
156
+ expect ( change . valueChangedTo ) . to . equal ( `${ new Date ( "2024-10-16T08:53:48Z" ) } ` ) ;
157
+ delete cds . services . AdminService . entities . RootEntity . elements . dateTime [ "@changelog" ] ;
158
+ delete cds . services . AdminService . entities . RootEntity . elements . timestamp [ "@changelog" ] ;
159
+ cds . env . requires [ "change-tracking" ] . preserveDeletes = false ;
160
+ } ) ;
129
161
130
162
it ( "2.5 Root entity deep creation by service API - should log changes on root entity (ERP4SMEPREPWORKAPPPLAT-32 ERP4SMEPREPWORKAPPPLAT-613)" , async ( ) => {
131
163
const bookStoreData = {
0 commit comments