This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch CAUSEWAY-3676
in repository https://gitbox.apache.org/repos/asf/causeway.git

commit e731ad589d65c5e07788c7655965b7f2537e131f
Author: danhaywood <[email protected]>
AuthorDate: Wed Feb 21 07:41:33 2024 +0000

    CAUSEWAY-3676: wip, more on 'rich' and 'simple' schemas; updates .gql tests
---
 ...IntegTest.each.action_with_disabled_param._.gql |  26 ++---
 ...t.each.action_with_disabled_param.approved.json |  26 ++---
 ...n_IntegTest.each.action_with_hidden_param._.gql |  18 ++--
 ...est.each.action_with_hidden_param.approved.json |  18 ++--
 .../e2e/Admin_IntegTest.each.admin_action._.gql    |  10 +-
 ...Admin_IntegTest.each.admin_action.approved.json |  10 +-
 .../Admin_IntegTest.each.other_admin_action._.gql  |  10 +-
 ...IntegTest.each.other_admin_action.approved.json |  10 +-
 ...alculator_IntegTest.each.add_big_decimals._.gql |  30 +++---
 ...alculator_IntegTest.each.add_big_integers._.gql |  10 +-
 ...ulator_IntegTest.each.add_double_wrappers._.gql |  10 +-
 .../Calculator_IntegTest.each.add_doubles._.gql    |  10 +-
 ...culator_IntegTest.each.add_float_wrappers._.gql |  10 +-
 .../e2e/Calculator_IntegTest.each.add_floats._.gql |  10 +-
 ...lator_IntegTest.each.add_integer_wrappers._.gql |  10 +-
 .../Calculator_IntegTest.each.add_integers._.gql   |  10 +-
 .../Calculator_IntegTest.each.boolean_and_1._.gql  |  10 +-
 .../Calculator_IntegTest.each.boolean_and_2._.gql  |  10 +-
 .../Calculator_IntegTest.each.boolean_not._.gql    |  10 +-
 .../Calculator_IntegTest.each.boolean_or_1._.gql   |  10 +-
 .../Calculator_IntegTest.each.boolean_or_2._.gql   |  10 +-
 .../e2e/Calculator_IntegTest.each.concat._.gql     |  10 +-
 ...lator_IntegTest.each.jdk8_local_plus_days._.gql |  10 +-
 ...st.each.jdk8_local_plus_hours_and_minutes._.gql |  10 +-
 ...k8_offset_plus_days_and_hours_and_minutes._.gql |  10 +-
 ...t.each.jdk8_offset_plus_hours_and_minutes._.gql |  10 +-
 ...dk8_zoned_plus_days_and_hours_and_minutes._.gql |  10 +-
 ...lator_IntegTest.each.joda_local_plus_days._.gql |  10 +-
 ...st.each.joda_local_plus_hours_and_minutes._.gql |  10 +-
 .../Calculator_IntegTest.each.joda_plus_days._.gql |  10 +-
 .../e2e/Calculator_IntegTest.each.next_month._.gql |  10 +-
 ...Calculator_IntegTest.each.scenario_concat._.gql |  22 +++--
 .../Calculator_IntegTest.each.some_locale._.gql    |  10 +-
 .../e2e/Calculator_IntegTest.each.some_url._.gql   |  10 +-
 .../e2e/Calculator_IntegTest.each.some_uuid._.gql  |  10 +-
 ...tegTest.change_department_name_visibility._.gql |   8 +-
 ...partment_IntegTest.each.create_department._.gql |  18 ++--
 ...ach.create_department_name_param_disabled._.gql |  22 +++--
 ...tment_IntegTest.each.find_all_departments._.gql |  24 ++---
 ...d_department_and_add_staff_member_choices._.gql |  42 ++++----
 ...ach.find_department_and_add_staff_members._.gql | 106 +++++++++++----------
 ...d_department_and_change_head_autocomplete._.gql |  24 ++---
 ...h.find_department_and_change_head_default._.gql |  22 +++--
 ...h.find_department_and_change_name_invalid._.gql |  20 ++--
 ...ind_department_and_edit_head_autocomplete._.gql |  18 ++--
 ..._and_edit_head_autocomplete_none_matching._.gql |  18 ++--
 ...t.each.find_department_and_list_its_staff._.gql |  26 ++---
 ...epartment_and_remove_staff_member_choices._.gql |  22 +++--
 ...nt_IntegTest.each.find_department_by_name._.gql |  18 ++--
 ....scenario_find_department_and_change_name._.gql |  48 +++++-----
 ...ach.find_depthead_and_change_name_invalid._.gql |  14 +--
 ...d_depthead_and_change_name_invoke_invalid._.gql |  20 ++--
 ...Head_IntegTest.each.find_depthead_by_name._.gql |  24 ++---
 .../e2e/People_IntegTest.each.find_person._.gql    |  40 ++++----
 ...Test.each.name_of_when_dept_head_using_id._.gql |  16 ++--
 ...est.each.name_of_when_dept_head_using_ref._.gql |  42 ++++----
 ...ame_of_when_staff_member_using_invalid_id._.gql |  16 ++--
 ....each.name_of_when_staff_member_using_ref._.gql |  42 ++++----
 ....each.create_staff_member_with_department._.gql |  76 ++++++++-------
 ...t.each.find_staff_member_by_name_and_edit._.gql |  18 ++--
 ...aff_member_by_name_and_edit_grade_choices._.gql |  16 ++--
 ...aff_IntegTest.each.list_all_staff_members._.gql |  32 ++++---
 ...gTest.each.staff_member_name_edit_invalid._.gql |  18 ++--
 ...IntegTest.each.staff_member_name_validate._.gql |  14 +--
 ...rson_using_id_and_logicalTypeName.approved.json |  15 +--
 ...ng_id_but_invalid_logicalTypeName.approved.json |  10 +-
 ...member_by_name_and_download_photo.approved.json |  30 ++----
 viewers/graphql/test/src/test/resources/schema.gql |  11 ++-
 68 files changed, 722 insertions(+), 598 deletions(-)

diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.action_with_disabled_param._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.action_with_disabled_param._.gql
index a9de0f6eb3..8272dc2b53 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.action_with_disabled_param._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.action_with_disabled_param._.gql
@@ -1,16 +1,18 @@
 {
-  university_admin_AdminMenu {
-    actionWithDisabledParam {
-      disabled
-      params {
-        firstParam {
-          disabled
-        }
-        secondParam {
-          disabled(firstParam: null)
-        }
-        thirdParameter {
-          disabled(firstParam: null, secondParam: "not blank")
+  rich {
+    university_admin_AdminMenu {
+      actionWithDisabledParam {
+        disabled
+        params {
+          firstParam {
+            disabled
+          }
+          secondParam {
+            disabled(firstParam: null)
+          }
+          thirdParameter {
+            disabled(firstParam: null, secondParam: "not blank")
+          }
         }
       }
     }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.action_with_disabled_param.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.action_with_disabled_param.approved.json
index ee44c013e3..d5c799afd0 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.action_with_disabled_param.approved.json
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.action_with_disabled_param.approved.json
@@ -1,17 +1,19 @@
 {
   "data" : {
-    "university_admin_AdminMenu" : {
-      "actionWithDisabledParam" : {
-        "disabled" : null,
-        "params" : {
-          "firstParam" : {
-            "disabled" : "yup, disabled!"
-          },
-          "secondParam" : {
-            "disabled" : null
-          },
-          "thirdParameter" : {
-            "disabled" : "Disabled because secondParam is not empty"
+    "rich" : {
+      "university_admin_AdminMenu" : {
+        "actionWithDisabledParam" : {
+          "disabled" : null,
+          "params" : {
+            "firstParam" : {
+              "disabled" : "yup, disabled!"
+            },
+            "secondParam" : {
+              "disabled" : null
+            },
+            "thirdParameter" : {
+              "disabled" : "Disabled because secondParam is not empty"
+            }
           }
         }
       }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.action_with_hidden_param._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.action_with_hidden_param._.gql
index c4effac2c9..40551c2361 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.action_with_hidden_param._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.action_with_hidden_param._.gql
@@ -1,12 +1,14 @@
 {
-  university_admin_AdminMenu {
-    actionWithHiddenParam {
-      params {
-        firstParam {
-          hidden
-        }
-        secondParam {
-          hidden
+  rich {
+    university_admin_AdminMenu {
+      actionWithHiddenParam {
+        params {
+          firstParam {
+            hidden
+          }
+          secondParam {
+            hidden
+          }
         }
       }
     }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.action_with_hidden_param.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.action_with_hidden_param.approved.json
index ad2ef5b5fb..cbc5086889 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.action_with_hidden_param.approved.json
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.action_with_hidden_param.approved.json
@@ -1,13 +1,15 @@
 {
   "data" : {
-    "university_admin_AdminMenu" : {
-      "actionWithHiddenParam" : {
-        "params" : {
-          "firstParam" : {
-            "hidden" : true
-          },
-          "secondParam" : {
-            "hidden" : false
+    "rich" : {
+      "university_admin_AdminMenu" : {
+        "actionWithHiddenParam" : {
+          "params" : {
+            "firstParam" : {
+              "hidden" : true
+            },
+            "secondParam" : {
+              "hidden" : false
+            }
           }
         }
       }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.admin_action._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.admin_action._.gql
index 0aed26c5db..4a5edce707 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.admin_action._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.admin_action._.gql
@@ -1,8 +1,10 @@
 {
-  university_admin_AdminMenu {
-    adminAction {
-      hidden
-      disabled
+  rich {
+    university_admin_AdminMenu {
+      adminAction {
+        hidden
+        disabled
+      }
     }
   }
 }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.admin_action.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.admin_action.approved.json
index ab73b2ab94..a325e0f6b2 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.admin_action.approved.json
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.admin_action.approved.json
@@ -1,9 +1,11 @@
 {
   "data" : {
-    "university_admin_AdminMenu" : {
-      "adminAction" : {
-        "hidden" : true,
-        "disabled" : null
+    "rich" : {
+      "university_admin_AdminMenu" : {
+        "adminAction" : {
+          "hidden" : true,
+          "disabled" : null
+        }
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.other_admin_action._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.other_admin_action._.gql
index a3eef24d3d..bdbd81043c 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.other_admin_action._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.other_admin_action._.gql
@@ -1,8 +1,10 @@
 {
-  university_admin_AdminMenu {
-    otherAdminAction {
-      hidden
-      disabled
+  rich {
+    university_admin_AdminMenu {
+      otherAdminAction {
+        hidden
+        disabled
+      }
     }
   }
 }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.other_admin_action.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.other_admin_action.approved.json
index fd36507365..9015e49e1d 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.other_admin_action.approved.json
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Admin_IntegTest.each.other_admin_action.approved.json
@@ -1,9 +1,11 @@
 {
   "data" : {
-    "university_admin_AdminMenu" : {
-      "otherAdminAction" : {
-        "hidden" : false,
-        "disabled" : "yup, disabled!"
+    "rich" : {
+      "university_admin_AdminMenu" : {
+        "otherAdminAction" : {
+          "hidden" : false,
+          "disabled" : "yup, disabled!"
+        }
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_big_decimals._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_big_decimals._.gql
index 3b022461fb..d85e0e7e3e 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_big_decimals._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_big_decimals._.gql
@@ -1,21 +1,23 @@
 {
-  university_calc_Calculator {
-    addBigDecimals {
-      invoke(x: "1.1", y: "2.2") {
-        args {
-          x
-          y
+  rich {
+    university_calc_Calculator {
+      addBigDecimals {
+        invoke(x: "1.1", y: "2.2") {
+          args {
+            x
+            y
+          }
+          results
         }
-        results
       }
-    }
-    addBigDecimals {
-      invoke(x: "1.1", y: "2.2") {
-        args {
-          x
-          y
+      addBigDecimals {
+        invoke(x: "1.1", y: "2.2") {
+          args {
+            x
+            y
+          }
+          results
         }
-        results
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_big_integers._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_big_integers._.gql
index 23cfc86001..cd3d224da6 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_big_integers._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_big_integers._.gql
@@ -1,8 +1,10 @@
 {
-  university_calc_Calculator {
-    addBigIntegers {
-      invoke(x: "1", y: "2") {
-        results
+  rich {
+    university_calc_Calculator {
+      addBigIntegers {
+        invoke(x: "1", y: "2") {
+          results
+        }
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_double_wrappers._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_double_wrappers._.gql
index 3fea5c2f99..73536f7453 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_double_wrappers._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_double_wrappers._.gql
@@ -1,8 +1,10 @@
 {
-  university_calc_Calculator {
-    addDoubleWrappers {
-      invoke(x: 1.1, y: 2.2) {
-        results
+  rich {
+    university_calc_Calculator {
+      addDoubleWrappers {
+        invoke(x: 1.1, y: 2.2) {
+          results
+        }
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_doubles._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_doubles._.gql
index 17264d5cfe..05a63e0f72 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_doubles._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_doubles._.gql
@@ -1,8 +1,10 @@
 {
-  university_calc_Calculator {
-    addDoubles {
-      invoke(x: 1.1, y: 2.2) {
-        results
+  rich {
+    university_calc_Calculator {
+      addDoubles {
+        invoke(x: 1.1, y: 2.2) {
+          results
+        }
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_float_wrappers._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_float_wrappers._.gql
index 5bc68ef8a4..5d283c9f22 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_float_wrappers._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_float_wrappers._.gql
@@ -1,8 +1,10 @@
 {
-  university_calc_Calculator {
-    addFloatWrappers {
-      invoke(x: 1.1, y: 2.2) {
-        results
+  rich {
+    university_calc_Calculator {
+      addFloatWrappers {
+        invoke(x: 1.1, y: 2.2) {
+          results
+        }
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_floats._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_floats._.gql
index d7b93ad934..c74ea6f73b 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_floats._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_floats._.gql
@@ -1,8 +1,10 @@
 {
-  university_calc_Calculator {
-    addFloats {
-      invoke(x: 1.1, y: 2.2) {
-        results
+  rich {
+    university_calc_Calculator {
+      addFloats {
+        invoke(x: 1.1, y: 2.2) {
+          results
+        }
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_integer_wrappers._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_integer_wrappers._.gql
index c407293080..23df33558a 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_integer_wrappers._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_integer_wrappers._.gql
@@ -1,8 +1,10 @@
 {
-  university_calc_Calculator {
-    addIntegerWrappers {
-      invoke(x: 1, y: 2) {
-        results
+  rich {
+    university_calc_Calculator {
+      addIntegerWrappers {
+        invoke(x: 1, y: 2) {
+          results
+        }
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_integers._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_integers._.gql
index bdd570c84d..f2fc6bc58f 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_integers._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.add_integers._.gql
@@ -1,8 +1,10 @@
 {
-  university_calc_Calculator {
-    addIntegers {
-      invoke(x: 1, y: 2) {
-        results
+  rich {
+    university_calc_Calculator {
+      addIntegers {
+        invoke(x: 1, y: 2) {
+          results
+        }
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.boolean_and_1._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.boolean_and_1._.gql
index fb44f20647..972bcb320f 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.boolean_and_1._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.boolean_and_1._.gql
@@ -1,8 +1,10 @@
 {
-  university_calc_Calculator {
-    and {
-      invoke(x: true, y: true) {
-        results
+  rich {
+    university_calc_Calculator {
+      and {
+        invoke(x: true, y: true) {
+          results
+        }
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.boolean_and_2._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.boolean_and_2._.gql
index 4c9a603c79..5ec20044c5 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.boolean_and_2._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.boolean_and_2._.gql
@@ -1,8 +1,10 @@
 {
-  university_calc_Calculator {
-    and {
-      invoke(x: true, y: false) {
-        results
+  rich {
+    university_calc_Calculator {
+      and {
+        invoke(x: true, y: false) {
+          results
+        }
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.boolean_not._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.boolean_not._.gql
index df36037332..70987f2d6b 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.boolean_not._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.boolean_not._.gql
@@ -1,8 +1,10 @@
 {
-  university_calc_Calculator {
-    not {
-      invoke(x: true) {
-        results
+  rich {
+    university_calc_Calculator {
+      not {
+        invoke(x: true) {
+          results
+        }
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.boolean_or_1._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.boolean_or_1._.gql
index 882ade0075..751d934a89 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.boolean_or_1._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.boolean_or_1._.gql
@@ -1,8 +1,10 @@
 {
-  university_calc_Calculator {
-    or {
-      invoke(x: true, y: true) {
-        results
+  rich {
+    university_calc_Calculator {
+      or {
+        invoke(x: true, y: true) {
+          results
+        }
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.boolean_or_2._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.boolean_or_2._.gql
index 4685a89f2d..e78bb39775 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.boolean_or_2._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.boolean_or_2._.gql
@@ -1,8 +1,10 @@
 {
-  university_calc_Calculator {
-    or {
-      invoke(x: true, y: false) {
-        results
+  rich {
+    university_calc_Calculator {
+      or {
+        invoke(x: true, y: false) {
+          results
+        }
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.concat._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.concat._.gql
index 95d5b3d3e6..32bd0f108e 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.concat._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.concat._.gql
@@ -1,8 +1,10 @@
 {
-  university_calc_Calculator {
-    concat {
-      invoke(prefix: "Fizz", suffix: "Buzz") {
-        results
+  rich {
+    university_calc_Calculator {
+      concat {
+        invoke(prefix: "Fizz", suffix: "Buzz") {
+          results
+        }
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_local_plus_days._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_local_plus_days._.gql
index 720d3cd792..fea5812c49 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_local_plus_days._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_local_plus_days._.gql
@@ -1,8 +1,10 @@
 {
-  university_calc_Calculator {
-    jdk8LocalPlusDays {
-      invoke(date: "2024-01-26", numDays: 2) {
-        results
+  rich {
+    university_calc_Calculator {
+      jdk8LocalPlusDays {
+        invoke(date: "2024-01-26", numDays: 2) {
+          results
+        }
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_local_plus_hours_and_minutes._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_local_plus_hours_and_minutes._.gql
index cc40b37ceb..e00ee784c3 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_local_plus_hours_and_minutes._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_local_plus_hours_and_minutes._.gql
@@ -1,8 +1,10 @@
 {
-  university_calc_Calculator {
-    jdk8LocalPlusHoursAndMinutes {
-      invoke(time: "13:35:05", numHours: 2, numMinutes: 20) {
-        results
+  rich {
+    university_calc_Calculator {
+      jdk8LocalPlusHoursAndMinutes {
+        invoke(time: "13:35:05", numHours: 2, numMinutes: 20) {
+          results
+        }
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_offset_plus_days_and_hours_and_minutes._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_offset_plus_days_and_hours_and_minutes._.gql
index 66feea07b2..87c33879b7 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_offset_plus_days_and_hours_and_minutes._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_offset_plus_days_and_hours_and_minutes._.gql
@@ -1,8 +1,10 @@
 {
-  university_calc_Calculator {
-    jdk8OffsetPlusDaysAndHoursAndMinutes {
-      invoke(dateTime: "2024-08-12T04:05:20-01:00", numDays: 3, numHours: 2, 
numMinutes: 15) {
-        results
+  rich {
+    university_calc_Calculator {
+      jdk8OffsetPlusDaysAndHoursAndMinutes {
+        invoke(dateTime: "2024-08-12T04:05:20-01:00", numDays: 3, numHours: 2, 
numMinutes: 15) {
+          results
+        }
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_offset_plus_hours_and_minutes._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_offset_plus_hours_and_minutes._.gql
index 9e0e94dd53..aa88011f7d 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_offset_plus_hours_and_minutes._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_offset_plus_hours_and_minutes._.gql
@@ -1,8 +1,10 @@
 {
-  university_calc_Calculator {
-    jdk8OffsetPlusHoursAndMinutes {
-      invoke(time: "04:05:20-01:00", numHours: 2, numMinutes: 15) {
-        results
+  rich {
+    university_calc_Calculator {
+      jdk8OffsetPlusHoursAndMinutes {
+        invoke(time: "04:05:20-01:00", numHours: 2, numMinutes: 15) {
+          results
+        }
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_zoned_plus_days_and_hours_and_minutes._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_zoned_plus_days_and_hours_and_minutes._.gql
index 01b76ca94c..2875862b5a 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_zoned_plus_days_and_hours_and_minutes._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.jdk8_zoned_plus_days_and_hours_and_minutes._.gql
@@ -1,8 +1,10 @@
 {
-  university_calc_Calculator {
-    jdk8ZonedPlusDaysAndHoursAndMinutes {
-      invoke(dateTime: "2022-04-15T08:20:10+02:00", numDays: 3, numHours: 2, 
numMinutes: 15) {
-        results
+  rich {
+    university_calc_Calculator {
+      jdk8ZonedPlusDaysAndHoursAndMinutes {
+        invoke(dateTime: "2022-04-15T08:20:10+02:00", numDays: 3, numHours: 2, 
numMinutes: 15) {
+          results
+        }
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_local_plus_days._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_local_plus_days._.gql
index 06029a3bcf..c2cae30c6f 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_local_plus_days._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_local_plus_days._.gql
@@ -1,8 +1,10 @@
 {
-  university_calc_Calculator {
-    jodaLocalPlusDays {
-      invoke(date: "2024-01-26", numDays: 2) {
-        results
+  rich {
+    university_calc_Calculator {
+      jodaLocalPlusDays {
+        invoke(date: "2024-01-26", numDays: 2) {
+          results
+        }
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_local_plus_hours_and_minutes._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_local_plus_hours_and_minutes._.gql
index 78c4347e94..87d3ae34cc 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_local_plus_hours_and_minutes._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_local_plus_hours_and_minutes._.gql
@@ -1,8 +1,10 @@
 {
-  university_calc_Calculator {
-    jodaLocalPlusHoursAndMinutes {
-      invoke(time: "13:35:05", numHours: 2, numMinutes: 20) {
-        results
+  rich {
+    university_calc_Calculator {
+      jodaLocalPlusHoursAndMinutes {
+        invoke(time: "13:35:05", numHours: 2, numMinutes: 20) {
+          results
+        }
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_plus_days._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_plus_days._.gql
index 06029a3bcf..c2cae30c6f 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_plus_days._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.joda_plus_days._.gql
@@ -1,8 +1,10 @@
 {
-  university_calc_Calculator {
-    jodaLocalPlusDays {
-      invoke(date: "2024-01-26", numDays: 2) {
-        results
+  rich {
+    university_calc_Calculator {
+      jodaLocalPlusDays {
+        invoke(date: "2024-01-26", numDays: 2) {
+          results
+        }
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.next_month._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.next_month._.gql
index cef74ae6ac..4d5b085bd2 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.next_month._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.next_month._.gql
@@ -1,8 +1,10 @@
 {
-  university_calc_Calculator {
-    nextMonth {
-      invoke(month: JUNE) {
-        results
+  rich {
+    university_calc_Calculator {
+      nextMonth {
+        invoke(month: JUNE) {
+          results
+        }
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.scenario_concat._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.scenario_concat._.gql
index 72d04e7e24..e87c92d590 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.scenario_concat._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.scenario_concat._.gql
@@ -1,15 +1,17 @@
 {
-  Scenario(name: "Fizz and buzz are concatenated together"){
-    Name
-    When {
-      university_calc_Calculator {
-        concat {
-          invoke(prefix: "Fizz", suffix: "Buzz") {
-            args {
-              prefix
-              suffix
+  rich {
+    Scenario(name: "Fizz and buzz are concatenated together"){
+      Name
+      When {
+        university_calc_Calculator {
+          concat {
+            invoke(prefix: "Fizz", suffix: "Buzz") {
+              args {
+                prefix
+                suffix
+              }
+              results
             }
-            results
           }
         }
       }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_locale._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_locale._.gql
index b1bf5cb9c1..60f83ecb00 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_locale._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_locale._.gql
@@ -1,8 +1,10 @@
 {
-  university_calc_Calculator {
-    someLocale {
-      invoke {
-        results
+  rich {
+    university_calc_Calculator {
+      someLocale {
+        invoke {
+          results
+        }
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_url._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_url._.gql
index 4be0cfa319..e25df11d43 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_url._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_url._.gql
@@ -1,8 +1,10 @@
 {
-  university_calc_Calculator {
-    someUrl {
-      invoke {
-        results
+  rich {
+    university_calc_Calculator {
+      someUrl {
+        invoke {
+          results
+        }
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_uuid._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_uuid._.gql
index 9911f9b207..26a82eb19a 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_uuid._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Calculator_IntegTest.each.some_uuid._.gql
@@ -1,8 +1,10 @@
 {
-  university_calc_Calculator {
-    someUuid {
-      invoke {
-        results
+  rich {
+    university_calc_Calculator {
+      someUuid {
+        invoke {
+          results
+        }
       }
     }
   }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/DepartmentMutating_IntegTest.change_department_name_visibility._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/DepartmentMutating_IntegTest.change_department_name_visibility._.gql
index bdb740382f..649e7f25a2 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/DepartmentMutating_IntegTest.change_department_name_visibility._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/DepartmentMutating_IntegTest.change_department_name_visibility._.gql
@@ -1,7 +1,9 @@
 {
-  university_dept_Department(object: {id: "$departmentId"}) {
-    changeName {
-      hidden
+  rich {
+    university_dept_Department(object: {id: "$departmentId"}) {
+      changeName {
+        hidden
+      }
     }
   }
 }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.create_department._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.create_department._.gql
index 728ca0494d..338c8cb961 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.create_department._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.create_department._.gql
@@ -1,12 +1,14 @@
 {
-  university_dept_Departments {
-    createDepartment {
-      hidden
-      disabled
-      invokeNonIdempotent(name: "newbie") {
-        results {
-          name {
-            get
+  rich {
+    university_dept_Departments {
+      createDepartment {
+        hidden
+        disabled
+        invokeNonIdempotent(name: "newbie") {
+          results {
+            name {
+              get
+            }
           }
         }
       }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.create_department_name_param_disabled._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.create_department_name_param_disabled._.gql
index ad9c215cc5..fc58ca008c 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.create_department_name_param_disabled._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.create_department_name_param_disabled._.gql
@@ -1,15 +1,17 @@
 {
-  university_dept_Departments {
-    createDepartment {
-      params {
-        name {
-          disabled
-        }
-      }
-      invokeNonIdempotent(name: "newbie") {
-        results {
+  rich {
+    university_dept_Departments {
+      createDepartment {
+        params {
           name {
-            get
+            disabled
+          }
+        }
+        invokeNonIdempotent(name: "newbie") {
+          results {
+            name {
+              get
+            }
           }
         }
       }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_all_departments._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_all_departments._.gql
index 20bfb49042..df78e2d1ae 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_all_departments._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_all_departments._.gql
@@ -1,15 +1,17 @@
 {
-  university_dept_Departments {
-    findAllDepartments {
-      invoke {
-        results {
-          name {
-            get
-            datatype
-          }
-          _meta {
-            logicalTypeName
-            version
+  rich {
+    university_dept_Departments {
+      findAllDepartments {
+        invoke {
+          results {
+            name {
+              get
+              datatype
+            }
+            _meta {
+              logicalTypeName
+              version
+            }
           }
         }
       }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_add_staff_member_choices._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_add_staff_member_choices._.gql
index 20e38bdf80..c350b3d549 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_add_staff_member_choices._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_add_staff_member_choices._.gql
@@ -1,19 +1,21 @@
 {
-  Scenario(name: "checks choice 'saveAs' reference numbering") {
-    Given {
-      university_dept_Departments {
-        findDepartmentByName {
-          invoke(name: "Classics") {
-            results {
-              addStaffMembers {
-                params {
-                  staffMembers {
-                    choices {
-                      _meta {
-                        saveAs(ref: "staff-member-choices")
-                      }
-                      name {
-                        get
+  rich {
+    Scenario(name: "checks choice 'saveAs' reference numbering") {
+      Given {
+        university_dept_Departments {
+          findDepartmentByName {
+            invoke(name: "Classics") {
+              results {
+                addStaffMembers {
+                  params {
+                    staffMembers {
+                      choices {
+                        _meta {
+                          saveAs(ref: "staff-member-choices")
+                        }
+                        name {
+                          get
+                        }
                       }
                     }
                   }
@@ -23,11 +25,11 @@
           }
         }
       }
-    }
-    Then {
-      university_dept_StaffMember(object: {ref: "staff-member-choices-2"}) {
-        name {
-          get
+      Then {
+        university_dept_StaffMember(object: {ref: "staff-member-choices-2"}) {
+          name {
+            get
+          }
         }
       }
     }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_add_staff_members._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_add_staff_members._.gql
index 3a677d0b06..ea6086774b 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_add_staff_members._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_add_staff_members._.gql
@@ -1,18 +1,20 @@
 {
-  Scenario(name: "can add staff members") {
-    Name
-    Given {
-      university_dept_Departments {
-        findDepartmentByName {
-          invoke(name: "Classics") {
-            args {
-              name
-            }
-            results {
-              staffMembers {
-                get {
-                  name {
-                    get
+  rich {
+    Scenario(name: "can add staff members") {
+      Name
+      Given {
+        university_dept_Departments {
+          findDepartmentByName {
+            invoke(name: "Classics") {
+              args {
+                name
+              }
+              results {
+                staffMembers {
+                  get {
+                    name {
+                      get
+                    }
                   }
                 }
               }
@@ -20,35 +22,35 @@
           }
         }
       }
-    }
-    When {
-      university_dept_Departments {
-        findDepartmentByName {
-          invoke(name: "Classics") {
-            results {
-              addStaffMembers {
-                params {
-                  staffMembers {
-                    datatype
-                    choices {
-                      _meta {
-                        saveAs(ref: "staff-member")
+      When {
+        university_dept_Departments {
+          findDepartmentByName {
+            invoke(name: "Classics") {
+              results {
+                addStaffMembers {
+                  params {
+                    staffMembers {
+                      datatype
+                      choices {
+                        _meta {
+                          saveAs(ref: "staff-member")
+                        }
+                        name {
+                          get
+                        }
                       }
+                    }
+                  }
+                  invokeIdempotent(staffMembers: [{ref: "staff-member"}, {ref: 
"staff-member-2"}]) {
+                    results {
                       name {
                         get
                       }
-                    }
-                  }
-                }
-                invokeIdempotent(staffMembers: [{ref: "staff-member"}, {ref: 
"staff-member-2"}]) {
-                  results {
-                    name {
-                      get
-                    }
-                    staffMembers {
-                      get {
-                        name {
-                          get
+                      staffMembers {
+                        get {
+                          name {
+                            get
+                          }
                         }
                       }
                     }
@@ -59,19 +61,19 @@
           }
         }
       }
-    }
-    Then {
-      university_dept_Departments {
-        findDepartmentByName {
-          invoke(name: "Classics") {
-            args {
-              name
-            }
-            results {
-              staffMembers {
-                get {
-                  name {
-                    get
+      Then {
+        university_dept_Departments {
+          findDepartmentByName {
+            invoke(name: "Classics") {
+              args {
+                name
+              }
+              results {
+                staffMembers {
+                  get {
+                    name {
+                      get
+                    }
                   }
                 }
               }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_change_head_autocomplete._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_change_head_autocomplete._.gql
index 144cd48c48..da57c6ab2c 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_change_head_autocomplete._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_change_head_autocomplete._.gql
@@ -1,15 +1,17 @@
 {
-  university_dept_Departments {
-    findDepartmentByName {
-      invoke(name: "Classics") {
-        results {
-          changeDeptHead {
-            params {
-              newDeptHead {
-                datatype
-                autoComplete(search: "Ho") {
-                  name {
-                    get
+  rich {
+    university_dept_Departments {
+      findDepartmentByName {
+        invoke(name: "Classics") {
+          results {
+            changeDeptHead {
+              params {
+                newDeptHead {
+                  datatype
+                  autoComplete(search: "Ho") {
+                    name {
+                      get
+                    }
                   }
                 }
               }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_change_head_default._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_change_head_default._.gql
index 5235455824..ebf4d90d4c 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_change_head_default._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_change_head_default._.gql
@@ -1,14 +1,16 @@
 {
-  university_dept_Departments {
-    findDepartmentByName {
-      invoke(name: "Classics") {
-        results {
-          changeDeptHead {
-            params {
-              newDeptHead {
-                default {
-                  name {
-                    get
+  rich {
+    university_dept_Departments {
+      findDepartmentByName {
+        invoke(name: "Classics") {
+          results {
+            changeDeptHead {
+              params {
+                newDeptHead {
+                  default {
+                    name {
+                      get
+                    }
                   }
                 }
               }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_change_name_invalid._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_change_name_invalid._.gql
index 8b90c61841..16d251ee25 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_change_name_invalid._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_change_name_invalid._.gql
@@ -1,15 +1,17 @@
 {
-  university_dept_Departments {
-    findDepartmentByName {
-      invoke(name: "Classics") {
-        results {
-          changeName {
-            params {
-              newName {
-                datatype
+  rich {
+    university_dept_Departments {
+      findDepartmentByName {
+        invoke(name: "Classics") {
+          results {
+            changeName {
+              params {
+                newName {
+                  datatype
+                }
               }
+              validate(newName: "A Funny Thing Happened on the Way to the 
Forum !")
             }
-            validate(newName: "A Funny Thing Happened on the Way to the Forum 
!")
           }
         }
       }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_edit_head_autocomplete._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_edit_head_autocomplete._.gql
index 1a3472d783..0fcb24604f 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_edit_head_autocomplete._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_edit_head_autocomplete._.gql
@@ -1,12 +1,14 @@
 {
-  university_dept_Departments {
-    findDepartmentByName {
-      invoke(name: "Classics") {
-        results {
-          deptHead {
-            autoComplete(search: "Ho") {
-              name {
-                get
+  rich {
+    university_dept_Departments {
+      findDepartmentByName {
+        invoke(name: "Classics") {
+          results {
+            deptHead {
+              autoComplete(search: "Ho") {
+                name {
+                  get
+                }
               }
             }
           }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_edit_head_autocomplete_none_matching._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_edit_head_autocomplete_none_matching._.gql
index d5092acf63..b5d874cff6 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_edit_head_autocomplete_none_matching._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_edit_head_autocomplete_none_matching._.gql
@@ -1,12 +1,14 @@
 {
-  university_dept_Departments {
-    findDepartmentByName {
-      invoke(name: "Classics") {
-        results {
-          deptHead {
-            autoComplete(search: "XXX") {
-              name {
-                get
+  rich {
+    university_dept_Departments {
+      findDepartmentByName {
+        invoke(name: "Classics") {
+          results {
+            deptHead {
+              autoComplete(search: "XXX") {
+                name {
+                  get
+                }
               }
             }
           }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_list_its_staff._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_list_its_staff._.gql
index fd6526363e..0265557a6f 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_list_its_staff._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_list_its_staff._.gql
@@ -1,16 +1,18 @@
 {
-  university_dept_Departments {
-    findDepartmentByName {
-      invoke(name: "Classics") {
-        results {
-          name {
-            get
-          }
-          staffMembers {
-            datatype
-            get {
-              name {
-                get
+  rich {
+    university_dept_Departments {
+      findDepartmentByName {
+        invoke(name: "Classics") {
+          results {
+            name {
+              get
+            }
+            staffMembers {
+              datatype
+              get {
+                name {
+                  get
+                }
               }
             }
           }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_remove_staff_member_choices._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_remove_staff_member_choices._.gql
index d73b165a37..281b7bc190 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_remove_staff_member_choices._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_remove_staff_member_choices._.gql
@@ -1,14 +1,16 @@
 {
-  university_dept_Departments {
-    findDepartmentByName {
-      invoke(name: "Classics") {
-        results {
-          removeStaffMember {
-            params {
-              staffMember {
-                choices {
-                  name {
-                    get
+  rich {
+    university_dept_Departments {
+      findDepartmentByName {
+        invoke(name: "Classics") {
+          results {
+            removeStaffMember {
+              params {
+                staffMember {
+                  choices {
+                    name {
+                      get
+                    }
                   }
                 }
               }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_by_name._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_by_name._.gql
index cb5843617e..6b73a88f6a 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_by_name._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_by_name._.gql
@@ -1,12 +1,14 @@
 {
-  university_dept_Departments {
-    findDepartmentByName {
-      invoke(name: "Classics") {
-        results {
-          staffMembers {
-            get {
-              name {
-                get
+  rich {
+    university_dept_Departments {
+      findDepartmentByName {
+        invoke(name: "Classics") {
+          results {
+            staffMembers {
+              get {
+                name {
+                  get
+                }
               }
             }
           }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.scenario_find_department_and_change_name._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.scenario_find_department_and_change_name._.gql
index 1f959fa62e..50e3c209ef 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.scenario_find_department_and_change_name._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.scenario_find_department_and_change_name._.gql
@@ -1,33 +1,35 @@
 {
-  Scenario(name: "Find department and change its name"){
-    Name
-    Given {
-      university_dept_Departments {
-        findDepartmentByName {
-          invoke(name: "Classics") {
-            args {
-              name
-            }
-            results {
-              _meta {
-                saveAs(ref: "classics_dept")
+  rich {
+    Scenario(name: "Find department and change its name"){
+      Name
+      Given {
+        university_dept_Departments {
+          findDepartmentByName {
+            invoke(name: "Classics") {
+              args {
+                name
+              }
+              results {
+                _meta {
+                  saveAs(ref: "classics_dept")
+                }
               }
             }
           }
         }
       }
-    }
 
-    When {
-      university_dept_Department(object: {ref: "classics_dept"}) {
-        changeName {
-          invokeIdempotent(newName: "Ancient History") {
-            args {
-              newName
-            }
-            results {
-              name {
-                get
+      When {
+        university_dept_Department(object: {ref: "classics_dept"}) {
+          changeName {
+            invokeIdempotent(newName: "Ancient History") {
+              args {
+                newName
+              }
+              results {
+                name {
+                  get
+                }
               }
             }
           }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/DeptHead_IntegTest.each.find_depthead_and_change_name_invalid._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/DeptHead_IntegTest.each.find_depthead_and_change_name_invalid._.gql
index 3b337ac0d7..b6f8018c52 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/DeptHead_IntegTest.each.find_depthead_and_change_name_invalid._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/DeptHead_IntegTest.each.find_depthead_and_change_name_invalid._.gql
@@ -1,10 +1,12 @@
 {
-  university_dept_DeptHeads {
-    findHeadByName {
-      invoke(name: "Prof. Dicky Horwich") {
-        results {
-          changeName {
-            validate(newName: "Prof. Dicky Horwich!")
+  rich {
+    university_dept_DeptHeads {
+      findHeadByName {
+        invoke(name: "Prof. Dicky Horwich") {
+          results {
+            changeName {
+              validate(newName: "Prof. Dicky Horwich!")
+            }
           }
         }
       }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/DeptHead_IntegTest.each.find_depthead_and_change_name_invoke_invalid._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/DeptHead_IntegTest.each.find_depthead_and_change_name_invoke_invalid._.gql
index f68b6eaeb5..cedf77b8e8 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/DeptHead_IntegTest.each.find_depthead_and_change_name_invoke_invalid._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/DeptHead_IntegTest.each.find_depthead_and_change_name_invoke_invalid._.gql
@@ -1,13 +1,15 @@
 {
-  university_dept_DeptHeads {
-    findHeadByName {
-      invoke(name: "Prof. Dicky Horwich") {
-        results {
-          changeName {
-            invokeIdempotent(newName: "Prof. Dicky Horwich!") {
-              results {
-                name {
-                  get
+  rich {
+    university_dept_DeptHeads {
+      findHeadByName {
+        invoke(name: "Prof. Dicky Horwich") {
+          results {
+            changeName {
+              invokeIdempotent(newName: "Prof. Dicky Horwich!") {
+                results {
+                  name {
+                    get
+                  }
                 }
               }
             }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/DeptHead_IntegTest.each.find_depthead_by_name._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/DeptHead_IntegTest.each.find_depthead_by_name._.gql
index 23470adc4f..8d555a7903 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/DeptHead_IntegTest.each.find_depthead_by_name._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/DeptHead_IntegTest.each.find_depthead_by_name._.gql
@@ -1,15 +1,17 @@
 {
-  university_dept_DeptHeads {
-    findHeadByName {
-      invoke(name: "Dr. Barney Jones") {
-        results {
-          name {
-            get
-          }
-          department {
-            get {
-              name {
-                get
+  rich {
+    university_dept_DeptHeads {
+      findHeadByName {
+        invoke(name: "Dr. Barney Jones") {
+          results {
+            name {
+              get
+            }
+            department {
+              get {
+                name {
+                  get
+                }
               }
             }
           }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/People_IntegTest.each.find_person._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/People_IntegTest.each.find_person._.gql
index 4effad8393..064d3a741d 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/People_IntegTest.each.find_person._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/People_IntegTest.each.find_person._.gql
@@ -1,29 +1,31 @@
 {
-  Scenario(name: "DeptHead is also a Person") {
-    Name
-    Given {
-      university_dept_People {
-        findNamed {
-          invoke(name: "Dr. Helen Johansen") {
-            args {
-              name
-            }
-            results {
-              name {
-                get
+  rich {
+    Scenario(name: "DeptHead is also a Person") {
+      Name
+      Given {
+        university_dept_People {
+          findNamed {
+            invoke(name: "Dr. Helen Johansen") {
+              args {
+                name
               }
-              _meta {
-                saveAs(ref: "dept-head")
+              results {
+                name {
+                  get
+                }
+                _meta {
+                  saveAs(ref: "dept-head")
+                }
               }
             }
           }
         }
       }
-    }
-    When {
-      university_dept_Person(object: {ref: "dept-head"}) {
-        name {
-          get
+      When {
+        university_dept_Person(object: {ref: "dept-head"}) {
+          name {
+            get
+          }
         }
       }
     }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Person_IntegTest.each.name_of_when_dept_head_using_id._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Person_IntegTest.each.name_of_when_dept_head_using_id._.gql
index 507b900e46..ef071a6467 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Person_IntegTest.each.name_of_when_dept_head_using_id._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Person_IntegTest.each.name_of_when_dept_head_using_id._.gql
@@ -1,11 +1,13 @@
 {
-  Scenario(name: "Obtain name of person but forget to specify the 
logicalTypeName") {
-    Name
-    When {
-      university_dept_People {
-        nameOf {
-          invoke(person: {id: "123"}) {
-            results
+  rich {
+    Scenario(name: "Obtain name of person but forget to specify the 
logicalTypeName") {
+      Name
+      When {
+        university_dept_People {
+          nameOf {
+            invoke(person: {id: "123"}) {
+              results
+            }
           }
         }
       }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Person_IntegTest.each.name_of_when_dept_head_using_ref._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Person_IntegTest.each.name_of_when_dept_head_using_ref._.gql
index 2fb8d4beee..23f0fc04ee 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Person_IntegTest.each.name_of_when_dept_head_using_ref._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Person_IntegTest.each.name_of_when_dept_head_using_ref._.gql
@@ -1,30 +1,32 @@
 {
-  Scenario(name: "Obtain name of person that's a DeptHead") {
-    Name
-    Given {
-      university_dept_DeptHeads {
-        findHeadByName {
-          invoke(name: "Dr. Helen Johansen") {
-            args {
-              name
-            }
-            results {
-              name {
-                get
+  rich {
+    Scenario(name: "Obtain name of person that's a DeptHead") {
+      Name
+      Given {
+        university_dept_DeptHeads {
+          findHeadByName {
+            invoke(name: "Dr. Helen Johansen") {
+              args {
+                name
               }
-              _meta {
-                saveAs(ref: "dept-head")
+              results {
+                name {
+                  get
+                }
+                _meta {
+                  saveAs(ref: "dept-head")
+                }
               }
             }
           }
         }
       }
-    }
-    When {
-      university_dept_People {
-        nameOf {
-          invoke(person: {ref: "dept-head"}) {
-            results
+      When {
+        university_dept_People {
+          nameOf {
+            invoke(person: {ref: "dept-head"}) {
+              results
+            }
           }
         }
       }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Person_IntegTest.each.name_of_when_staff_member_using_invalid_id._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Person_IntegTest.each.name_of_when_staff_member_using_invalid_id._.gql
index eae4185397..53fe935aa2 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Person_IntegTest.each.name_of_when_staff_member_using_invalid_id._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Person_IntegTest.each.name_of_when_staff_member_using_invalid_id._.gql
@@ -1,11 +1,13 @@
 {
-  Scenario(name: "Obtain name of person that's a non-existent StaffMember") {
-    Name
-    When {
-      university_dept_People {
-        nameOf {
-          invoke(person: {id: "123456", logicalTypeName: 
"university.dept.StaffMember"}) {
-            results
+  rich {
+    Scenario(name: "Obtain name of person that's a non-existent StaffMember") {
+      Name
+      When {
+        university_dept_People {
+          nameOf {
+            invoke(person: {id: "123456", logicalTypeName: 
"university.dept.StaffMember"}) {
+              results
+            }
           }
         }
       }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Person_IntegTest.each.name_of_when_staff_member_using_ref._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Person_IntegTest.each.name_of_when_staff_member_using_ref._.gql
index a993291aef..f9c715ffb8 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Person_IntegTest.each.name_of_when_staff_member_using_ref._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Person_IntegTest.each.name_of_when_staff_member_using_ref._.gql
@@ -1,30 +1,32 @@
 {
-  Scenario(name: "Obtain name of person that's a StaffMember") {
-    Name
-    Given {
-      university_dept_Staff {
-        findStaffMemberByName {
-          invoke(name: "Letitia Leadbetter") {
-            args {
-              name
-            }
-            results {
-              name {
-                get
+  rich {
+    Scenario(name: "Obtain name of person that's a StaffMember") {
+      Name
+      Given {
+        university_dept_Staff {
+          findStaffMemberByName {
+            invoke(name: "Letitia Leadbetter") {
+              args {
+                name
               }
-              _meta {
-                saveAs(ref: "staff-member")
+              results {
+                name {
+                  get
+                }
+                _meta {
+                  saveAs(ref: "staff-member")
+                }
               }
             }
           }
         }
       }
-    }
-    When {
-      university_dept_People {
-        nameOf {
-          invoke(person: {ref: "staff-member"}) {
-            results
+      When {
+        university_dept_People {
+          nameOf {
+            invoke(person: {ref: "staff-member"}) {
+              results
+            }
           }
         }
       }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Staff_IntegTest.each.create_staff_member_with_department._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Staff_IntegTest.each.create_staff_member_with_department._.gql
index df0573406a..c9dc4689f3 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Staff_IntegTest.each.create_staff_member_with_department._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Staff_IntegTest.each.create_staff_member_with_department._.gql
@@ -1,51 +1,53 @@
 {
-  Scenario(name: "New member of staff") {
-    Name
-    Given {
-      university_dept_Departments {
-        findDepartmentByName {
-          invoke(name: "Classics") {
-            args {
-              name
-            }
-            results {
-              _meta {
-                saveAs(ref: "classics")
+  rich {
+    Scenario(name: "New member of staff") {
+      Name
+      Given {
+        university_dept_Departments {
+          findDepartmentByName {
+            invoke(name: "Classics") {
+              args {
+                name
+              }
+              results {
+                _meta {
+                  saveAs(ref: "classics")
+                }
               }
             }
           }
         }
       }
-    }
-    When {
-      university_dept_Staff {
-        createStaffMember {
-          invokeNonIdempotent(name: "Dr. Georgina McGovern", department: { 
ref: "classics"}) {
-            args {
-              name
-              department {
-                name {
-                  get
-                }
-              }
-            }
-            results {
-              name {
-                get
-              }
-              department {
-                get {
+      When {
+        university_dept_Staff {
+          createStaffMember {
+            invokeNonIdempotent(name: "Dr. Georgina McGovern", department: { 
ref: "classics"}) {
+              args {
+                name
+                department {
                   name {
                     get
                   }
                 }
               }
-              _meta {
-                title
-                logicalTypeName
-                version
-                cssClass
-                icon
+              results {
+                name {
+                  get
+                }
+                department {
+                  get {
+                    name {
+                      get
+                    }
+                  }
+                }
+                _meta {
+                  title
+                  logicalTypeName
+                  version
+                  cssClass
+                  icon
+                }
               }
             }
           }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Staff_IntegTest.each.find_staff_member_by_name_and_edit._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Staff_IntegTest.each.find_staff_member_by_name_and_edit._.gql
index d72c247fdf..027ea5e37c 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Staff_IntegTest.each.find_staff_member_by_name_and_edit._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Staff_IntegTest.each.find_staff_member_by_name_and_edit._.gql
@@ -1,12 +1,14 @@
 {
-  university_dept_Staff {
-    findStaffMemberByName {
-      invoke(name: "Gerry Jones") {
-        results {
-          name {
-            set(name: "Gerald Johns") {
-              name {
-                get
+  rich {
+    university_dept_Staff {
+      findStaffMemberByName {
+        invoke(name: "Gerry Jones") {
+          results {
+            name {
+              set(name: "Gerald Johns") {
+                name {
+                  get
+                }
               }
             }
           }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Staff_IntegTest.each.find_staff_member_by_name_and_edit_grade_choices._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Staff_IntegTest.each.find_staff_member_by_name_and_edit_grade_choices._.gql
index 96f259a768..f728d18b8a 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Staff_IntegTest.each.find_staff_member_by_name_and_edit_grade_choices._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Staff_IntegTest.each.find_staff_member_by_name_and_edit_grade_choices._.gql
@@ -1,11 +1,13 @@
 {
-  university_dept_Staff {
-    findStaffMemberByName {
-      invoke(name: "Gerry Jones") {
-        results {
-          grade {
-            disabled
-            choices
+  rich {
+    university_dept_Staff {
+      findStaffMemberByName {
+        invoke(name: "Gerry Jones") {
+          results {
+            grade {
+              disabled
+              choices
+            }
           }
         }
       }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Staff_IntegTest.each.list_all_staff_members._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Staff_IntegTest.each.list_all_staff_members._.gql
index eb93a4f6aa..f56ec41fd1 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Staff_IntegTest.each.list_all_staff_members._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Staff_IntegTest.each.list_all_staff_members._.gql
@@ -1,19 +1,21 @@
 {
-  university_dept_Staff {
-    findAllStaffMembers {
-      invoke {
-        results {
-          name {
-            get
-          }
-          grade {
-            get
-          }
-          photo {
-            get {
-              name
-              mimeType
-              bytes
+  rich {
+    university_dept_Staff {
+      findAllStaffMembers {
+        invoke {
+          results {
+            name {
+              get
+            }
+            grade {
+              get
+            }
+            photo {
+              get {
+                name
+                mimeType
+                bytes
+              }
             }
           }
         }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Staff_IntegTest.each.staff_member_name_edit_invalid._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Staff_IntegTest.each.staff_member_name_edit_invalid._.gql
index 0c8645c3f9..f75107b50a 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Staff_IntegTest.each.staff_member_name_edit_invalid._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Staff_IntegTest.each.staff_member_name_edit_invalid._.gql
@@ -1,12 +1,14 @@
 {
-  university_dept_Staff {
-    findStaffMemberByName {
-      invoke(name: "Gerry Jones") {
-        results {
-          name {
-            set(name: "Gerry!") {
-              name {
-                get
+  rich {
+    university_dept_Staff {
+      findStaffMemberByName {
+        invoke(name: "Gerry Jones") {
+          results {
+            name {
+              set(name: "Gerry!") {
+                name {
+                  get
+                }
               }
             }
           }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Staff_IntegTest.each.staff_member_name_validate._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Staff_IntegTest.each.staff_member_name_validate._.gql
index 6ace1b8daf..798d12a2d1 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Staff_IntegTest.each.staff_member_name_validate._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Staff_IntegTest.each.staff_member_name_validate._.gql
@@ -1,10 +1,12 @@
 {
-  university_dept_Staff {
-    findStaffMemberByName {
-      invoke(name: "Gerry Jones") {
-        results {
-          name {
-            validate(name: "Gerry!")
+  rich {
+    university_dept_Staff {
+      findStaffMemberByName {
+        invoke(name: "Gerry Jones") {
+          results {
+            name {
+              validate(name: "Gerry!")
+            }
           }
         }
       }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/special/Person_2_IntegTest.name_of_person_using_id_and_logicalTypeName.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/special/Person_2_IntegTest.name_of_person_using_id_and_logicalTypeName.approved.json
index 74cfd1d566..679551e9d7 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/special/Person_2_IntegTest.name_of_person_using_id_and_logicalTypeName.approved.json
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/special/Person_2_IntegTest.name_of_person_using_id_and_logicalTypeName.approved.json
@@ -1,9 +1,12 @@
 {
-  "data" : {
-    "university_dept_Person" : {
-      "name" : {
-        "get" : "Letitia Leadbetter"
-      }
+  "errors" : [ {
+    "message" : "Validation error (FieldUndefined@[university_dept_Person]) : 
Field 'university_dept_Person' in type 'SimpleAndRich' is undefined",
+    "locations" : [ {
+      "line" : 2,
+      "column" : 3
+    } ],
+    "extensions" : {
+      "classification" : "ValidationError"
     }
-  }
+  } ]
 }
\ No newline at end of file
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/special/Person_2_IntegTest.name_of_person_using_id_but_invalid_logicalTypeName.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/special/Person_2_IntegTest.name_of_person_using_id_but_invalid_logicalTypeName.approved.json
index 66c31d82e8..679551e9d7 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/special/Person_2_IntegTest.name_of_person_using_id_but_invalid_logicalTypeName.approved.json
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/special/Person_2_IntegTest.name_of_person_using_id_but_invalid_logicalTypeName.approved.json
@@ -1,16 +1,12 @@
 {
   "errors" : [ {
-    "message" : "Exception while fetching data (/university_dept_Person) : The 
'logicalTypeName' of 'university.dept.XXX' is unknown in the metamodel",
+    "message" : "Validation error (FieldUndefined@[university_dept_Person]) : 
Field 'university_dept_Person' in type 'SimpleAndRich' is undefined",
     "locations" : [ {
       "line" : 2,
       "column" : 3
     } ],
-    "path" : [ "university_dept_Person" ],
     "extensions" : {
-      "classification" : "DataFetchingException"
+      "classification" : "ValidationError"
     }
-  } ],
-  "data" : {
-    "university_dept_Person" : null
-  }
+  } ]
 }
\ No newline at end of file
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/special/Staff_2_IntegTest.find_staff_member_by_name_and_download_photo.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/special/Staff_2_IntegTest.find_staff_member_by_name_and_download_photo.approved.json
index 4edeea854b..c185b5304e 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/special/Staff_2_IntegTest.find_staff_member_by_name_and_download_photo.approved.json
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/special/Staff_2_IntegTest.find_staff_member_by_name_and_download_photo.approved.json
@@ -1,24 +1,12 @@
 {
-  "data" : {
-    "university_dept_Staff" : {
-      "findStaffMemberByName" : {
-        "invoke" : {
-          "results" : {
-            "name" : {
-              "get" : "Gerry Jones"
-            },
-            "_meta" : {
-              "grid" : 
"///graphql/object/university.dept.StaffMember:NNN/_meta/grid",
-              "icon" : 
"///graphql/object/university.dept.StaffMember:NNN/_meta/icon"
-            },
-            "photo" : {
-              "get" : {
-                "bytes" : 
"///graphql/object/university.dept.StaffMember:NNN/photo/blobBytes"
-              }
-            }
-          }
-        }
-      }
+  "errors" : [ {
+    "message" : "Validation error (FieldUndefined@[university_dept_Staff]) : 
Field 'university_dept_Staff' in type 'SimpleAndRich' is undefined",
+    "locations" : [ {
+      "line" : 2,
+      "column" : 3
+    } ],
+    "extensions" : {
+      "classification" : "ValidationError"
     }
-  }
+  } ]
 }
\ No newline at end of file
diff --git a/viewers/graphql/test/src/test/resources/schema.gql 
b/viewers/graphql/test/src/test/resources/schema.gql
index d8c8312fca..218e2a9921 100644
--- a/viewers/graphql/test/src/test/resources/schema.gql
+++ b/viewers/graphql/test/src/test/resources/schema.gql
@@ -1,3 +1,8 @@
+schema {
+  query: SimpleAndRich
+  mutation: Mutation
+}
+
 "Marks the field, argument, input field or enum value as deprecated"
 directive @deprecated(
     "The reason for the deprecation"
@@ -66,7 +71,7 @@ type Mutation {
   university_dept_Staff__createStaffMember(department: 
university_dept_Department__gqlv_input!, name: String!): 
university_dept_StaffMember
 }
 
-type Query {
+type RichSchema {
   Scenario(name: String): Scenario
   causeway_applib_DomainObjectList(object: 
causeway_applib_DomainObjectList__gqlv_input): causeway_applib_DomainObjectList
   causeway_applib_FacetGroupNode(object: 
causeway_applib_FacetGroupNode__gqlv_input): causeway_applib_FacetGroupNode
@@ -177,6 +182,10 @@ type ScenarioStep {
   university_dept_StaffMember(object: 
university_dept_StaffMember__gqlv_input): university_dept_StaffMember
 }
 
+type SimpleAndRich {
+  rich: RichSchema
+}
+
 type causeway_applib_DomainObjectList {
   "Object metadata"
   _meta: causeway_applib_DomainObjectList__gqlv_meta


Reply via email to