Skip to content
This repository has been archived by the owner on Apr 13, 2023. It is now read-only.

Simplified the MockedProvider #1882

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

### vNext

* Simplified the MockedProvider API [#1882](https://github.com/apollographql/react-apollo/pull/1882)

### 2.1.1

* Fix uneccesary rerender on cache hit
Expand Down
10 changes: 2 additions & 8 deletions src/test-utils.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,22 +11,16 @@ export class MockedProvider extends React.Component<any, any> {

constructor(props: any, context: any) {
super(props, context);
if (this.props.client) return;

const addTypename = !this.props.removeTypename;
const link = mockSingleLink.apply(null, this.props.mocks);
this.client = new ApolloClient({
link,
cache: new Cache({ addTypename }),
cache: new Cache({ addTypename: false }),
defaultOptions: this.props.defaultOptions,
});
}

render() {
return (
<ApolloProvider client={this.client || this.props.client}>
{this.props.children}
</ApolloProvider>
);
return <ApolloProvider client={this.client}>{this.props.children}</ApolloProvider>;
}
}
22 changes: 11 additions & 11 deletions test/__snapshots__/test-utils.test.tsx.snap
Original file line number Diff line number Diff line change
@@ -1,34 +1,34 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`allows for passing a custom client 1`] = `
exports[`allows for querying with the typename 1`] = `
Object {
"__typename": "User",
"id": "user_id",
Symbol(id): "User:user_id",
}
`;

exports[`errors if the variables in the mock and component do not match 1`] = `
exports[`errors if the query in the mock and component do not match 1`] = `
[Error: Network error: No more mocked responses for the query: query GetUser($username: String!) {
user(username: $username) {
id
__typename
}
}
, variables: {"username":"other_user"}]
, variables: {"username":"mock_username"}]
`;

exports[`mocks the data and adds the typename to the query 1`] = `
Object {
"__typename": "User",
"id": "user_id",
Symbol(id): "User:user_id",
exports[`errors if the variables in the mock and component do not match 1`] = `
[Error: Network error: No more mocked responses for the query: query GetUser($username: String!) {
user(username: $username) {
id
}
}
, variables: {"username":"other_user"}]
`;

exports[`mocks the data without adding the typename 1`] = `
exports[`mocks the data 1`] = `
Object {
"id": "user_id",
Symbol(id): "$ROOT_QUERY.user({\\"username\\":\\"mock_username\\"})",
Symbol(id): "User:user_id",
}
`;
31 changes: 15 additions & 16 deletions test/client/Query.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ describe('Query component', () => {
const Component = () => <Query query={allPeopleQuery}>{_ => <div />}</Query>;

wrapper = mount(
<MockedProvider mocks={allPeopleMocks} removeTypename>
<MockedProvider mocks={allPeopleMocks}>
<Component />
</MockedProvider>,
);
Expand Down Expand Up @@ -142,7 +142,7 @@ describe('Query component', () => {
);

wrapper = mount(
<MockedProvider mocks={mocksWithVariable} removeTypename>
<MockedProvider mocks={mocksWithVariable}>
<Component />
</MockedProvider>,
);
Expand Down Expand Up @@ -172,7 +172,7 @@ describe('Query component', () => {
);

wrapper = mount(
<MockedProvider mocks={mockError} removeTypename>
<MockedProvider mocks={mockError}>
<Component />
</MockedProvider>,
);
Expand Down Expand Up @@ -271,7 +271,7 @@ describe('Query component', () => {
);

wrapper = mount(
<MockedProvider mocks={mocks} removeTypename>
<MockedProvider mocks={mocks}>
<Component />
</MockedProvider>,
);
Expand Down Expand Up @@ -341,7 +341,7 @@ describe('Query component', () => {
);

wrapper = mount(
<MockedProvider mocks={mocks} removeTypename>
<MockedProvider mocks={mocks}>
<Component />
</MockedProvider>,
);
Expand Down Expand Up @@ -403,7 +403,7 @@ describe('Query component', () => {
);

wrapper = mount(
<MockedProvider mocks={mocks} removeTypename>
<MockedProvider mocks={mocks}>
<Component />
</MockedProvider>,
);
Expand Down Expand Up @@ -462,7 +462,7 @@ describe('Query component', () => {
);

wrapper = mount(
<MockedProvider mocks={mocks} removeTypename>
<MockedProvider mocks={mocks}>
<Component />
</MockedProvider>,
);
Expand Down Expand Up @@ -524,7 +524,7 @@ describe('Query component', () => {
);

wrapper = mount(
<MockedProvider mocks={mocks} removeTypename>
<MockedProvider mocks={mocks}>
<Component />
</MockedProvider>,
);
Expand All @@ -547,7 +547,7 @@ describe('Query component', () => {
);

wrapper = mount(
<MockedProvider mocks={allPeopleMocks} removeTypename>
<MockedProvider mocks={allPeopleMocks}>
<Component />
</MockedProvider>,
);
Expand All @@ -571,7 +571,6 @@ describe('Query component', () => {
<MockedProvider
defaultOptions={{ watchQuery: { fetchPolicy: 'cache-only' } }}
mocks={allPeopleMocks}
removeTypename
>
<Component />
</MockedProvider>,
Expand Down Expand Up @@ -624,7 +623,7 @@ describe('Query component', () => {
);

wrapper = mount(
<MockedProvider mocks={mocks} removeTypename>
<MockedProvider mocks={mocks}>
<Component />
</MockedProvider>,
);
Expand Down Expand Up @@ -677,7 +676,7 @@ describe('Query component', () => {
);

wrapper = mount(
<MockedProvider mocks={mocks} removeTypename>
<MockedProvider mocks={mocks}>
<Component />
</MockedProvider>,
);
Expand Down Expand Up @@ -814,7 +813,7 @@ describe('Query component', () => {
}

wrapper = mount(
<MockedProvider mocks={mocks} removeTypename>
<MockedProvider mocks={mocks}>
<Component />
</MockedProvider>,
);
Expand Down Expand Up @@ -883,7 +882,7 @@ describe('Query component', () => {
}

wrapper = mount(
<MockedProvider mocks={mocks} removeTypename>
<MockedProvider mocks={mocks}>
<Component />
</MockedProvider>,
);
Expand Down Expand Up @@ -1018,7 +1017,7 @@ describe('Query component', () => {
}

wrapper = mount(
<MockedProvider mocks={mocks} removeTypename>
<MockedProvider mocks={mocks}>
<Component />
</MockedProvider>,
);
Expand Down Expand Up @@ -1069,7 +1068,7 @@ describe('Query component', () => {
}

wrapper = mount(
<MockedProvider mocks={allPeopleMocks} removeTypename>
<MockedProvider mocks={allPeopleMocks}>
<Component />
</MockedProvider>,
);
Expand Down
Loading