Convert Gitlab::Graphql::Present to a field extension
requested to merge ajk-present-field-extension-gql into ajk-graphql-field-extensions-over-instrumentation
What does this MR do?
In order to make our resolver tests play nicely with our instrumentation, I realised that the most sensible thing was to replace the instrumentation with field extensions. This has the additional benefit is that field extensions are the supported API for modifying field resolution. Significantly, field instrumentation is one of the proc-dependent features that are incompatible with the new interpreter (see: https://graphql-ruby.org/queries/interpreter.html#compatibility).
We intend to move to the interpreter (see: #210556 (closed) and !27536 (merged)) - and replacing the presenter instrumentation will be required.
This MR was split from !55306 (merged), where it was initially reviewed by @digitalmoksha.
Related to: #210556 (closed)
Does this MR meet the acceptance criteria?
Conformity
-
📋 Does this MR need a changelog?-
I have included a changelog entry. -
I have not included a changelog entry because it is a developer facing change.
-
-
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process.
Edited by Alex Kalderimis