diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/alter_domain_comment.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/alter_domain_comment.sql
new file mode 100644
index 00000000..27648cd9
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/alter_domain_comment.sql
@@ -0,0 +1,16 @@
+-- DOMAIN: public."Dom1_$%{}[]()&*^!@""'`\/#"
+
+-- DROP DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#";
+
+CREATE DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
+    AS bigint
+    DEFAULT 5
+    NOT NULL;
+
+ALTER DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#" OWNER TO <OWNER>;
+
+ALTER DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
+    ADD CONSTRAINT constraint_1 CHECK (true);
+
+COMMENT ON DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
+    IS 'test updated domain comment';
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/alter_domain_default_expression.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/alter_domain_default_expression.sql
new file mode 100644
index 00000000..7d9ca356
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/alter_domain_default_expression.sql
@@ -0,0 +1,15 @@
+-- DOMAIN: public."Dom1_$%{}[]()&*^!@""'`\/#"
+
+-- DROP DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#";
+
+CREATE DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
+    AS bigint
+    DEFAULT 3;
+
+ALTER DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#" OWNER TO <OWNER>;
+
+ALTER DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
+    ADD CONSTRAINT constraint_1 CHECK (true);
+
+COMMENT ON DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
+    IS 'test updated domain comment';
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/alter_domain_name.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/alter_domain_name.sql
new file mode 100644
index 00000000..5b546dcf
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/alter_domain_name.sql
@@ -0,0 +1,15 @@
+-- DOMAIN: public."Dom2_$%{}[]()&*^!@""'`\/#"
+
+-- DROP DOMAIN public."Dom2_$%{}[]()&*^!@""'`\/#";
+
+CREATE DOMAIN public."Dom2_$%{}[]()&*^!@""'`\/#"
+    AS bigint
+    DEFAULT 3;
+
+ALTER DOMAIN public."Dom2_$%{}[]()&*^!@""'`\/#" OWNER TO <OWNER>;
+
+ALTER DOMAIN public."Dom2_$%{}[]()&*^!@""'`\/#"
+    ADD CONSTRAINT constraint_1 CHECK (true);
+
+COMMENT ON DOMAIN public."Dom2_$%{}[]()&*^!@""'`\/#"
+    IS 'test updated domain comment';
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/alter_domain_null_type.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/alter_domain_null_type.sql
new file mode 100644
index 00000000..1e0747a5
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/alter_domain_null_type.sql
@@ -0,0 +1,15 @@
+-- DOMAIN: public."Dom1_$%{}[]()&*^!@""'`\/#"
+
+-- DROP DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#";
+
+CREATE DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
+    AS bigint
+    DEFAULT 5;
+
+ALTER DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#" OWNER TO <OWNER>;
+
+ALTER DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
+    ADD CONSTRAINT constraint_1 CHECK (true);
+
+COMMENT ON DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
+    IS 'test updated domain comment';
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/create_domain.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/create_domain.sql
new file mode 100644
index 00000000..0d393352
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/create_domain.sql
@@ -0,0 +1,16 @@
+-- DOMAIN: public."Dom1_$%{}[]()&*^!@""'`\/#"
+
+-- DROP DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#";
+
+CREATE DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
+    AS bigint
+    DEFAULT 5
+    NOT NULL;
+
+ALTER DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#" OWNER TO <OWNER>;
+
+ALTER DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
+    ADD CONSTRAINT constraint_1 CHECK (true);
+
+COMMENT ON DOMAIN public."Dom1_$%{}[]()&*^!@""'`\/#"
+    IS 'test_comment';
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/test.json b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/test.json
new file mode 100644
index 00000000..fa8b3819
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/tests/default/test.json
@@ -0,0 +1,69 @@
+{
+  "scenarios": [{
+      "type": "create",
+      "name": "Create Domain",
+      "endpoint": "NODE-domain.obj",
+      "sql_endpoint": "NODE-domain.sql_id",
+      "data": {
+	"name": "Dom1_$%{}[]()&*^!@\"'`\\/#",
+	"schema": "public",
+        "schema_id": "<SCHEMA_ID>",
+        "basensp": "public",
+        "description": "test_comment",
+        "basetype": "bigint",
+        "typdefault": "5",
+        "typnotnull": "true",
+        "constraints": [{
+		"conname": "constraint_1",
+		"consrc": "true",
+		"convalidated": "true"
+	}],
+	"seclabels": []
+      },
+      "expected_sql_file": "create_domain.sql"
+    }, {
+      "type": "alter",
+      "name": "Alter domain comment",
+      "endpoint": "NODE-domain.obj_id",
+      "sql_endpoint": "NODE-domain.sql_id",
+      "data": {
+        "description": "test updated domain comment"
+      },
+      "expected_sql_file": "alter_domain_comment.sql"
+    }, {
+      "type": "alter",
+      "name": "Alter domain null type",
+      "endpoint": "NODE-domain.obj_id",
+      "sql_endpoint": "NODE-domain.sql_id",
+      "data": {
+        "typnotnull": "false"
+      },
+      "expected_sql_file": "alter_domain_null_type.sql"
+    }, {
+      "type": "alter",
+      "name": "Alter domain default expression",
+      "endpoint": "NODE-domain.obj_id",
+      "sql_endpoint": "NODE-domain.sql_id",
+      "data": {
+        "typdefault": "3"
+      },
+      "expected_sql_file": "alter_domain_default_expression.sql"
+    }, {
+      "type": "alter",
+      "name": "Alter domain name",
+      "endpoint": "NODE-domain.obj_id",
+      "sql_endpoint": "NODE-domain.sql_id",
+      "data": {
+        "name": "Dom2_$%{}[]()&*^!@\"'`\\/#"
+      },
+      "expected_sql_file": "alter_domain_name.sql"
+    }, {
+      "type": "delete",
+      "name": "Drop domain",
+      "endpoint": "NODE-domain.delete_id",
+      "data": {
+        "name": "Dom2_$%{}[]()&*^!@\"'`\\/#"
+      }
+    }
+  ]
+}
