From 9883c816163f6b1d655637b22d88eff20e12ba6c Mon Sep 17 00:00:00 2001 From: Tianyu Yao Date: Fri, 6 Mar 2020 08:29:47 -0800 Subject: [PATCH] Add 2 JS snapshot tests to SkipRedundantNodesTransform Reviewed By: jstejada Differential Revision: D20285547 fbshipit-source-id: 8d1e52432c9407691812376aa781455bc4a92741 --- .../SkipRedundantNodesTransform-test.js.snap | 79 +++++++++++++++++++ ...-skip-with-inline-on-diffent-types.graphql | 15 ++++ .../skips-with-client-extensions.graphql | 23 ++++++ 3 files changed, 117 insertions(+) create mode 100644 packages/relay-compiler/transforms/__tests__/fixtures/skip-redundant-nodes-transform/dont-skip-with-inline-on-diffent-types.graphql create mode 100644 packages/relay-compiler/transforms/__tests__/fixtures/skip-redundant-nodes-transform/skips-with-client-extensions.graphql diff --git a/packages/relay-compiler/transforms/__tests__/__snapshots__/SkipRedundantNodesTransform-test.js.snap b/packages/relay-compiler/transforms/__tests__/__snapshots__/SkipRedundantNodesTransform-test.js.snap index 817a0d14a2625..39dcddd8be709 100644 --- a/packages/relay-compiler/transforms/__tests__/__snapshots__/SkipRedundantNodesTransform-test.js.snap +++ b/packages/relay-compiler/transforms/__tests__/__snapshots__/SkipRedundantNodesTransform-test.js.snap @@ -68,6 +68,43 @@ query DontSkipNestedFieldsAcrossFragments { `; +exports[`SkipRedundantNodesTransform matches expected output: dont-skip-with-inline-on-diffent-types.graphql 1`] = ` +~~~~~~~~~~ INPUT ~~~~~~~~~~ +query DontSkipWithInlineFragmentOnDifferentTypes { + viewer { + actor { + ... on Actor { + id + } + ... on User { + id # we currently don't skip this + hometown { + name + } + } + } + } +} + +~~~~~~~~~~ OUTPUT ~~~~~~~~~~ +query DontSkipWithInlineFragmentOnDifferentTypes { + viewer { + actor { + ... on Actor { + id + } + ... on User { + id + hometown { + name + } + } + } + } +} + +`; + exports[`SkipRedundantNodesTransform matches expected output: skip-nested-linked-fields.graphql 1`] = ` ~~~~~~~~~~ INPUT ~~~~~~~~~~ query SkipNestedLinkedFields { @@ -148,6 +185,48 @@ query SkipNestedFields { `; +exports[`SkipRedundantNodesTransform matches expected output: skips-with-client-extensions.graphql 1`] = ` +~~~~~~~~~~ INPUT ~~~~~~~~~~ +query SkipWithClientExtensions { + viewer { + actor { + ... on Actor { + clientName + clientUser { + name + } + clientName + clientUser { + ... on User { + name + } + } + } + } + } +} + +extend interface Actor { + clientName: String + clientUser: User +} + +~~~~~~~~~~ OUTPUT ~~~~~~~~~~ +query SkipWithClientExtensions { + viewer { + actor { + ... on Actor { + clientName + clientUser { + name + } + } + } + } +} + +`; + exports[`SkipRedundantNodesTransform matches expected output: skips-with-fragment.graphql 1`] = ` ~~~~~~~~~~ INPUT ~~~~~~~~~~ fragment ProfilePicture on User { diff --git a/packages/relay-compiler/transforms/__tests__/fixtures/skip-redundant-nodes-transform/dont-skip-with-inline-on-diffent-types.graphql b/packages/relay-compiler/transforms/__tests__/fixtures/skip-redundant-nodes-transform/dont-skip-with-inline-on-diffent-types.graphql new file mode 100644 index 0000000000000..d47f68d37f47a --- /dev/null +++ b/packages/relay-compiler/transforms/__tests__/fixtures/skip-redundant-nodes-transform/dont-skip-with-inline-on-diffent-types.graphql @@ -0,0 +1,15 @@ +query DontSkipWithInlineFragmentOnDifferentTypes { + viewer { + actor { + ... on Actor { + id + } + ... on User { + id # we currently don't skip this + hometown { + name + } + } + } + } +} diff --git a/packages/relay-compiler/transforms/__tests__/fixtures/skip-redundant-nodes-transform/skips-with-client-extensions.graphql b/packages/relay-compiler/transforms/__tests__/fixtures/skip-redundant-nodes-transform/skips-with-client-extensions.graphql new file mode 100644 index 0000000000000..d40aab445345b --- /dev/null +++ b/packages/relay-compiler/transforms/__tests__/fixtures/skip-redundant-nodes-transform/skips-with-client-extensions.graphql @@ -0,0 +1,23 @@ +query SkipWithClientExtensions { + viewer { + actor { + ... on Actor { + clientName + clientUser { + name + } + clientName + clientUser { + ... on User { + name + } + } + } + } + } +} + +extend interface Actor { + clientName: String + clientUser: User +}