diff --git a/application/source/dom/util/extract-keys.mjs b/application/source/dom/util/extract-keys.mjs
index a95989102dcb504e7c435abba29c5bbb97b7923d..976be3a30eb70cfc372051605eff6bc93293433b 100644
--- a/application/source/dom/util/extract-keys.mjs
+++ b/application/source/dom/util/extract-keys.mjs
@@ -22,7 +22,7 @@ function extractKeys(obj, keyPrefix = "", keySeparator = "-", valueSeparator = "
 
     function helper(currentObj, currentKeyPrefix, currentValuePrefix) {
         for (const key in currentObj) {
-            if (typeof currentObj[key] === "object" && !Array.isArray(currentObj[key])) {
+            if (currentObj[key] !== null && typeof currentObj[key] === "object" && !Array.isArray(currentObj[key])) {
                 const newKeyPrefix = currentKeyPrefix
                     ? currentKeyPrefix + keySeparator + key.toLowerCase()
                     : key.toLowerCase();
@@ -41,3 +41,4 @@ function extractKeys(obj, keyPrefix = "", keySeparator = "-", valueSeparator = "
     helper(obj, keyPrefix, keyPrefix);
     return resultMap;
 }
+
diff --git a/development/test/cases/dom/util/extract-keys.mjs b/development/test/cases/dom/util/extract-keys.mjs
new file mode 100644
index 0000000000000000000000000000000000000000..ca5396b13e08c562372fabba14b0e74c4ecc010f
--- /dev/null
+++ b/development/test/cases/dom/util/extract-keys.mjs
@@ -0,0 +1,64 @@
+import {expect} from 'chai';
+import {extractKeys} from "../../../../../application/source/dom/util/extract-keys.mjs";
+
+
+describe('extractKeys', () => {
+    it('should extract keys from the given object', () => {
+        const obj = {
+            firstName: 'John',
+            lastName: 'Doe',
+            address: {
+                street: '123 Main St',
+                city: 'New York',
+            },
+        };
+
+        const expected = new Map([
+            ['firstname', 'firstName'],
+            ['lastname', 'lastName'],
+            ['address-street', 'address.street'],
+            ['address-city', 'address.city'],
+        ]);
+
+        const result = extractKeys(obj);
+
+        expect(JSON.stringify(Array.from(result))).to.equal(JSON.stringify(Array.from(expected)));
+    });
+
+    it('should use custom key and value separators', () => {
+        const obj = {
+            firstName: 'John',
+            lastName: 'Doe',
+        };
+
+        const expected = new Map([
+            ['prefix+firstname', 'prefix+firstName'],
+            ['prefix+lastname', 'prefix+lastName'],
+        ]);
+
+        const result = extractKeys(obj, 'prefix', '+', '+');
+
+        expect(JSON.stringify(Array.from(result))).to.equal(JSON.stringify(Array.from(expected)));
+    });
+
+    it('check if value is null', () => {
+        const obj = {
+            firstName: 'John',
+            lastName: 'Doe',
+            address: null,
+        };
+
+        const expected = new Map([
+            ['firstname', 'firstName'],
+            ['lastname', 'lastName'],
+            ['address', 'address'],
+            
+        ]);
+
+        const result = extractKeys(obj);
+
+        expect(JSON.stringify(Array.from(result))).to.equal(JSON.stringify(Array.from(expected)));
+    });
+
+    // Add more test cases as needed
+});