Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[rust] convert tests to use graphql tag #3199

Closed
kassens opened this issue Sep 30, 2020 · 3 comments
Closed

[rust] convert tests to use graphql tag #3199

kassens opened this issue Sep 30, 2020 · 3 comments
Assignees
Labels
help wanted pinned Pinned issues will never be marked stale by stalebot

Comments

@kassens
Copy link
Member

kassens commented Sep 30, 2020

The goal is to remove generateAndCompile which relies on the JS compiler to be called from Jest and instead use generated files in runtime tests just like product code.

The Rust compiler can be run on the tests using:

scripts/compile-tests.sh

Currently, only a single test was migrated as a test that the parts work internally and on github.

If you intend to convert some, maybe flag here. Even converting 1 or a few will help!

Just posting the list here if we do this incrementally (via rg -F 'generateAndCompile(' -l | rg __tests).

  • packages/react-relay/__tests__/ReactRelayPaginationContainer-test.js
  • packages/react-relay/__tests__/ReactRelayRefetchContainer-WithFragmentOwnership-test.js
  • packages/react-relay/__tests__/ReactRelayFragmentContainer-WithFragmentOwnership-test.js
  • packages/react-relay/__tests__/ReactRelayPaginationContainer-WithFragmentOwnership-test.js
  • packages/react-relay/__tests__/ReactRelayTestMocker-test.js
  • packages/react-relay/__tests__/ReactRelayRefetchContainer-test.js
  • packages/react-relay/__tests__/ReactRelayQueryRenderer-test.js
  • packages/react-relay/__tests__/ReactRelayFragmentContainer-test.js
  • packages/relay-experimental/__tests__/useLazyLoadQueryNode-test.js
  • packages/relay-experimental/__tests__/preloadQuery_DEPRECATED-test.js
  • packages/relay-experimental/__tests__/useQueryLoader-test.js
  • packages/relay-experimental/__tests__/usePaginationFragment-test.js
  • packages/relay-experimental/__tests__/useBlockingPaginationFragment-test.js
  • packages/relay-experimental/__tests__/useBlockingPaginationFragment-with-suspense-transition-test.js
  • packages/react-relay/__tests__/ReactRelayLocalQueryRenderer-test.js
  • packages/relay-experimental/__tests__/useRefetchableFragmentNode-test.js
  • packages/relay-experimental/__tests__/useFragment-test.js
  • packages/relay-experimental/__tests__/useFragmentNodeRequired-test.js
  • packages/relay-experimental/__tests__/useSubscription-test.js
  • packages/relay-experimental/__tests__/useRefetchableFragmentNode-with-suspense-transition-test.js
  • packages/relay-experimental/__tests__/useIsParentQueryActive-test.js
  • packages/relay-experimental/__tests__/QueryResource-test.js
  • packages/relay-experimental/__tests__/FragmentResourceRequiredField-test.js
  • packages/relay-experimental/__tests__/useMutation-fast-refresh-test.js
  • packages/relay-experimental/__tests__/useMutation-test.js
  • packages/relay-experimental/__tests__/FragmentResource-test.js
  • packages/relay-experimental/__tests__/LazyLoadEntryPointContainer_DEEPRECATED-test.js
  • packages/relay-experimental/__tests__/fetchQuery-test.js
  • packages/relay-experimental/__tests__/useRefetchableFragment-test.js
  • packages/relay-experimental/__tests__/useSubscribeToInvalidationState-test.js
  • packages/relay-experimental/__tests__/loadQuery-source-behavior-test.js
  • packages/relay-experimental/__tests__/FragmentResource-WithOperationTracker-test.js
  • packages/relay-experimental/__tests__/EntryPointContainer-test.js
  • packages/relay-experimental/__tests__/loadQuery-store-behavior-test.js
  • packages/relay-experimental/__tests__/useFragmentNode-test.js
  • packages/relay-experimental/__tests__/usePreloadedQuery-test.js
  • packages/relay-experimental/__tests__/useLazyQueryNode-fast-refresh-test.js
  • packages/relay-experimental/__tests__/loadQuery-test.js
  • packages/relay-runtime/mutations/__tests__/validateMutation-test.js
  • packages/relay-runtime/mutations/__tests__/commitMutation-test.js
  • packages/relay-runtime/subscription/__tests__/requestSubscription-test.js
  • packages/relay-runtime/util/__tests__/getFragmentIdentifier-test.js
  • packages/relay-runtime/query/__tests__/GraphQLTag-test.js
  • packages/relay-runtime/query/__tests__/fetchQueryInternal-test.js
  • packages/relay-runtime/query/__tests__/fetchQuery-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-TypeRefinement-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-CheckWithGlobalInvalidation-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-Lookup-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithNestedMatch-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutation-test.js
  • packages/relay-runtime/store/__tests__/DataChecker-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ApplyUpdate-test.js
  • packages/relay-runtime/store/__tests__/RelayStoreUtils-test.js
  • packages/relay-runtime/store/__tests__/RelayResponseNormalizer-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithMatchAdditionalArguments-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithPromiseNetwork-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithStream-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithModuleWithKey-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-DynamicConnectionKey-test.js
  • packages/relay-runtime/store/__tests__/RelayPublishQueue-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithMatch-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithFlight-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithStreamedConnection-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-Subscribe-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithStreamWithHandler-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithDeferredStreamedConnection-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithModule-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithOptimisticResponse-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-CheckWithLocalInvalidation-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithHandlerAndUpdater-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithPluralMatch-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithDefer-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithStreamAndRequired-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteSubscriptionWithDefer-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-Connection-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutationWithDeclarativeMutation-test.js
  • packages/relay-runtime/store/__tests__/RelayReader-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteSubscriptionWithStream-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutation-WithLocalInvalidation-test.js
  • packages/relay-runtime/store/__tests__/RelayOperationTracker-test.js
  • packages/relay-runtime/store/__tests__/createFragmentSpecResolver-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithNestedStream-test.js
  • packages/relay-runtime/store/__tests__/readInlineData-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutationWithMatch-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-Check-test.js
  • packages/relay-runtime/store/__tests__/RelayReader-RequiredFields-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteSubscriptionWithMatch-test.js
  • packages/relay-runtime/store/__tests__/RelayModernSelector-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteSubscription-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithDeferWithinModule-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithSource-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithModuleOnConcreteField-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ConnectionAndRequired-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteMutationWithGlobalInvalidation-test.js
  • packages/relay-runtime/store/__tests__/RelayModernFragmentSpecResolver-WithFragmentOwnership-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithOverlappingStream-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-CommitUpdate-test.js
  • packages/relay-runtime/store/__tests__/RelayModernStore-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-CommitPayload-test.js
  • packages/relay-runtime/store/__tests__/RelayModernFragmentSpecResolverRequiredField-test.js
  • packages/relay-runtime/store/__tests__/RelayReferenceMarker-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithUndeclaredUnusedArgument-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-WithOperationTracker-test.js
  • packages/relay-runtime/store/__tests__/RelayModernFragmentSpecResolver-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-Retain-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithObservableNetwork-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-ExecuteWithOverlappingModule-test.js
  • packages/relay-runtime/store/__tests__/RelayConcreteVariables-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-Viewer-test.js
  • packages/relay-runtime/store/__tests__/RelayModernEnvironment-QueryCacheExpirationTime-test.js
@kassens
Copy link
Member Author

kassens commented Sep 30, 2020

#3198 adds a shell script to invoke the compiler to compile the tests.

  • Requires Rust/cargo to be installed.
  • Requires watchman installed.
  • Might not work on windows, I don't have the environment to test at the moment.

@kassens
Copy link
Member Author

kassens commented Nov 30, 2020

This is a lot to convert and needs renaming of the fragments to have unique names. I think this might still be the most robust answer.

facebook-github-bot pushed a commit that referenced this issue Jan 13, 2021
…the new compiler

Summary:
We're working on deprecating JS compiler.
One of the steps, is to remove it from our unit-tests.

This is the test from #3199

Steps:
- Remove generateAndCompile
- Wrap graphql documents with graphql tag + add unique prefix
- Run new compiler: scripts/compile-tests.sh

Reviewed By: tyao1

Differential Revision: D25875336

fbshipit-source-id: 0be387d9881a615cca47bd6a05a0249b10334d49
facebook-github-bot pushed a commit that referenced this issue Jan 13, 2021
Summary:
We're working on deprecating JS compiler.
One of the steps, is to remove it from our unit-tests.

This is the test from #3199

Steps:
1) Remove `generateAndCompile`
2) Wrap graphql documents with `graphql` tag + add unique prefix
3) Run new compiler: `scripts/compile-tests.sh`

Reviewed By: tyao1

Differential Revision: D25874593

fbshipit-source-id: aa8b192cee0a4ad05b42e0153c19817f56b48ab3
facebook-github-bot pushed a commit that referenced this issue Jan 13, 2021
…use the new compiler

Summary:
We're working on deprecating JS compiler.
One of the steps, is to remove it from our unit-tests.

This is the test from #3199

Steps:
1) Remove `generateAndCompile`
2) Wrap graphql documents with `graphql` tag + add unique prefix
3) Run new compiler: `scripts/compile-tests.sh`

Reviewed By: tyao1

Differential Revision: D25875625

fbshipit-source-id: c47fe1838b689aa5fe904f28b6d45d49852d97ad
facebook-github-bot pushed a commit that referenced this issue Jan 14, 2021
Summary:
We're working on deprecating JS compiler.
One of the steps, is to remove it from our unit-tests.

This is the test from #3199

Steps:
1) Remove `generateAndCompile`
2) Wrap graphql documents with `graphql` tag + add unique prefix
3) Run new compiler: `scripts/compile-tests.sh`

Reviewed By: kassens

Differential Revision: D25890200

fbshipit-source-id: 8432593ab5ab2ea3675a3331ad5c3d52fce9ab6f
@alunyov alunyov self-assigned this Jan 23, 2021
@poteto poteto added the pinned Pinned issues will never be marked stale by stalebot label Feb 10, 2021
@kassens
Copy link
Member Author

kassens commented Mar 9, 2021

completed with 7ca4ce7

@kassens kassens closed this as completed Mar 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted pinned Pinned issues will never be marked stale by stalebot
Projects
None yet
Development

No branches or pull requests

3 participants