Parcourir la source

auto convert createdAt/updatedAt to Date

tags/v0.1.6
Robin Thoni il y a 7 ans
Parent
révision
970cdaa260

+ 14
- 2
src/Business/lu-webapi-crud-business.js Voir le fichier

37
                     return dst;
37
                     return dst;
38
                 };
38
                 };
39
 
39
 
40
-                Business.initDbo = function(dbo)
40
+                Business._initDbo = function(dbo)
41
                 {
41
                 {
42
                     if (dbo == null) {
42
                     if (dbo == null) {
43
                         return null;
43
                         return null;
44
                     }
44
                     }
45
-                    return Business.extendDeep({}, Business.defaultDbo, dbo);
45
+                    dbo = Business.extendDeep({}, Business.defaultDbo, dbo);
46
+                    if (dbo.createdAt != null) {
47
+                        dbo.createdAt = new Date(dbo.createdAt);
48
+                    }
49
+                    if (dbo.updatedAt != null) {
50
+                        dbo.updatedAt = new Date(dbo.updatedAt);
51
+                    }
52
+                    return dbo;
53
+                };
54
+
55
+                Business.initDbo = function(dbo)
56
+                {
57
+                    return Business._initDbo(dbo);
46
                 };
58
                 };
47
 
59
 
48
                 Business.initListDbo = function(list)
60
                 Business.initListDbo = function(list)

+ 78
- 0
tests/Business/lu-webapi-crud-business.spec.js Voir le fichier

37
                         }
37
                         }
38
                     });
38
                     });
39
                 }
39
                 }
40
+                else if (id == 3) {
41
+                    deferred.resolve({
42
+                        id: id,
43
+                        name: "Test.2",
44
+                        obj: {
45
+                            value: 4242
46
+                        },
47
+                        createdAt: "2016-12-27T05:00:00-05:00",
48
+                        updatedAt: null
49
+                    });
50
+                }
51
+                else if (id == 4) {
52
+                    deferred.resolve({
53
+                        id: id,
54
+                        name: "Test.2",
55
+                        obj: {
56
+                            value: 4242
57
+                        },
58
+                        createdAt: "2016-12-27T05:00:00-05:00",
59
+                        updatedAt: "2016-12-28T05:00:00-05:00"
60
+                    });
61
+                }
40
                 return deferred.promise;
62
                 return deferred.promise;
41
             },
63
             },
42
             getMultiple: function (orderBy, filter, page, perPage, luBusyGroups) {
64
             getMultiple: function (orderBy, filter, page, perPage, luBusyGroups) {
226
         });
248
         });
227
         $rootScope.$digest();
249
         $rootScope.$digest();
228
     });
250
     });
251
+
252
+
253
+    it('should convert createdAt into Date', function()
254
+    {
255
+        var business = luWebApiCrudBusiness.create(fakeDataAccess);
256
+        business.defaultDbo = {
257
+            id: null,
258
+            name: "",
259
+            createdAt: null,
260
+            updatedAt: null,
261
+            dummyFunction: function () {
262
+                return '_' + this.name + '_';
263
+            }
264
+        };
265
+
266
+        var id = 3;
267
+        business.getSingleById(id, null).then(function (data) {
268
+            expect(data.id).toEqual(id);
269
+            expect(data.name).toEqual("Test.2");
270
+            expect(data.dummyFunction).not.toBeNull();
271
+            expect(data.dummyFunction()).toEqual("_Test.2_");
272
+            expect(data.createdAt).toEqual(new Date("2016-12-27T05:00:00-05:00"));
273
+            expect(data.updatedAt).toBeNull();
274
+        }, function (error) {
275
+            expect(error).toBeNull();
276
+        });
277
+        $rootScope.$digest();
278
+    });
279
+
280
+
281
+    it('should convert createdAt and updatedAt into Date', function()
282
+    {
283
+        var business = luWebApiCrudBusiness.create(fakeDataAccess);
284
+        business.defaultDbo = {
285
+            id: null,
286
+            name: "",
287
+            createdAt: null,
288
+            updatedAt: null,
289
+            dummyFunction: function () {
290
+                return '_' + this.name + '_';
291
+            }
292
+        };
293
+
294
+        var id = 4;
295
+        business.getSingleById(id, null).then(function (data) {
296
+            expect(data.id).toEqual(id);
297
+            expect(data.name).toEqual("Test.2");
298
+            expect(data.dummyFunction).not.toBeNull();
299
+            expect(data.dummyFunction()).toEqual("_Test.2_");
300
+            expect(data.createdAt).toEqual(new Date("2016-12-27T05:00:00-05:00"));
301
+            expect(data.updatedAt).toEqual(new Date("2016-12-28T05:00:00-05:00"));
302
+        }, function (error) {
303
+            expect(error).toBeNull();
304
+        });
305
+        $rootScope.$digest();
306
+    });
229
 });
307
 });

Chargement…
Annuler
Enregistrer