Skip to content

feat(relay-test-utils): add persistent resolvers support#5153

Open
sjwilczynski wants to merge 4 commits intofacebook:mainfrom
sjwilczynski:sjwilczy/queingResolversPersistance
Open

feat(relay-test-utils): add persistent resolvers support#5153
sjwilczynski wants to merge 4 commits intofacebook:mainfrom
sjwilczynski:sjwilczy/queingResolversPersistance

Conversation

@sjwilczynski
Copy link

@sjwilczynski sjwilczynski commented Jan 27, 2026

Summary

Adds support for "persistent resolvers" in relay-test-utils - resolvers that are not removed from the queue after execution. This is useful for Storybook scenarios - where the same resolver needs to handle multiple interactions because user can interact with the component by clicking around the UI.

New Features

  • Per-resolver persistence: Use {resolver, persistent: true} wrapper to keep a resolver in the queue
  • Environment-level default: Configure mockConfig: {defaultPersistentResolvers: true} to make all resolvers persistent by default
  • Clear resolvers: New clearOperationResolvers() method to explicitly clear the resolver queue
  • mockClear integration: mockClear() now also clears the resolver queue

API

// Non-persistent (default, current behavior)
environment.mock.queueOperationResolver(operation =>
  MockPayloadGenerator.generate(operation)
);

// Persistent resolver (new)
environment.mock.queueOperationResolver({
  resolver: operation => MockPayloadGenerator.generate(operation),
  persistent: true,
});

// Environment-level default (new)
const environment = createMockEnvironment({
  mockConfig: {
    defaultPersistentResolvers: true,
  },
});

// Clear all resolvers (new)
environment.mock.clearOperationResolvers();

Verification

  • Added unit tests for persistent resolver behavior
  • Added tests for defaultPersistentResolvers config option
  • Added tests for clearOperationResolvers() method
  • Added tests for mockClear() clearing resolvers

@meta-cla meta-cla bot added the CLA Signed label Jan 27, 2026
@sjwilczynski sjwilczynski changed the title feat: add persistent resolvers support for relay-test-utils feat(relay-test-utils): add persistent resolvers support Jan 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant