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

Commit

Permalink
Simplified the MockedProvider (#1882)
Browse files Browse the repository at this point in the history
* Simplified the MockedProvider

* Fixed linter errors

* Added changelog
  • Loading branch information
excitement-engineer authored and James Baxley committed Apr 2, 2018
1 parent fd4d704 commit 884d81f
Show file tree
Hide file tree
Showing 5 changed files with 91 additions and 103 deletions.
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

0 comments on commit 884d81f

Please sign in to comment.