Skip to content

Commit

Permalink
update tests
Browse files Browse the repository at this point in the history
  • Loading branch information
brainkim committed Jul 13, 2021
1 parent 8c57799 commit 3667cbd
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 44 deletions.
54 changes: 24 additions & 30 deletions src/react/hooks/__tests__/useLazyQuery.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -432,29 +432,29 @@ describe('useLazyQuery Hook', () => {

switch (++renderCount) {
case 1:
expect(loading).toEqual(false);
expect(loading).toBe(false);
expect(data).toBeUndefined();
expect(previousData).toBeUndefined();
setTimeout(execute);
break;
case 2:
expect(loading).toBeTruthy();
expect(loading).toBe(true);
expect(data).toBeUndefined();
expect(previousData).toBeUndefined();
break;
case 3:
expect(loading).toBeFalsy();
expect(loading).toBe(false);
expect(data).toEqual(data1);
expect(previousData).toBeUndefined();
setTimeout(refetch!);
break;
case 4:
expect(loading).toBeTruthy();
expect(loading).toBe(true);
expect(data).toEqual(data1);
expect(previousData).toEqual(data1);
break;
case 5:
expect(loading).toBeFalsy();
expect(loading).toBe(false);
expect(data).toEqual(data2);
expect(previousData).toEqual(data1);
break;
Expand Down Expand Up @@ -485,15 +485,15 @@ describe('useLazyQuery Hook', () => {
}
`;

const CAR_DATA_A4 = {
const data1 = {
car: {
make: 'Audi',
model: 'A4',
__typename: 'Car',
},
};

const CAR_DATA_RS8 = {
const data2 = {
car: {
make: 'Audi',
model: 'RS8',
Expand All @@ -504,56 +504,50 @@ describe('useLazyQuery Hook', () => {
const mocks = [
{
request: { query: CAR_QUERY_BY_ID, variables: { id: 1 } },
result: { data: CAR_DATA_A4 },
result: { data: data1 },
},
{
request: { query: CAR_QUERY_BY_ID, variables: { id: 2 } },
result: { data: CAR_DATA_RS8 },
result: { data: data2 },
},
];

let renderCount = 0;
function App() {
const [execute, { loading, data, previousData }] = useLazyQuery(
const [execute, { loading, data, previousData, refetch }] = useLazyQuery(
CAR_QUERY_BY_ID,
{ notifyOnNetworkStatusChange: true },
);

refetch;

switch (++renderCount) {
case 1:
expect(loading).toEqual(false);
expect(loading).toBe(false);
expect(data).toBeUndefined();
expect(previousData).toBeUndefined();
setTimeout(() => execute(
{
variables: { id: 1 },
},
));
setTimeout(() => execute({ variables: { id: 1 }}));
break;
case 2:
expect(loading).toBeTruthy();
expect(loading).toBe(true);
expect(data).toBeUndefined();
expect(previousData).toBeUndefined();
break;
case 3:
expect(loading).toBeFalsy();
expect(data).toEqual(CAR_DATA_A4);
expect(loading).toBe(false);
expect(data).toEqual(data1);
expect(previousData).toBeUndefined();
setTimeout(() => execute(
{
variables: { id: 2 },
},
));
setTimeout(() => refetch!({ id: 2 }));
break;
case 4:
expect(loading).toBeTruthy();
expect(data).toEqual(CAR_DATA_A4);
expect(previousData).toEqual(CAR_DATA_A4);
expect(loading).toBe(true);
expect(data).toEqual(undefined);
expect(previousData).toEqual(data1);
break;
case 5:
expect(loading).toBeFalsy();
expect(data).toEqual(CAR_DATA_RS8);
expect(previousData).toEqual(CAR_DATA_A4);
expect(loading).toBe(false);
expect(data).toEqual(data2);
expect(previousData).toEqual(data1);
break;
default: // Do nothing
}
Expand Down
25 changes: 11 additions & 14 deletions src/react/hooks/__tests__/useQuery.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -947,28 +947,25 @@ describe('useQuery Hook', () => {
const Component = () => {
const { loading, error, refetch, data, networkStatus } = useQuery(
query,
{
onError,
notifyOnNetworkStatusChange: true
}
{ onError, notifyOnNetworkStatusChange: true },
);

switch (++renderCount) {
case 1:
expect(loading).toBeTruthy();
expect(loading).toBe(true);
break;
case 2:
expect(loading).toBeFalsy();
expect(loading).toBe(false);
expect(error).toBeDefined();
expect(error!.message).toEqual('Oh no!');
onErrorPromise.then(() => refetch());
break;
case 3:
expect(loading).toBeTruthy();
expect(loading).toBe(true);
expect(networkStatus).toBe(NetworkStatus.refetch);
break;
case 4:
expect(loading).toBeFalsy();
expect(loading).toBe(false);
expect(data).toEqual(resultData);
break;
default: // Do nothing
Expand Down Expand Up @@ -2960,15 +2957,15 @@ describe('useQuery Hook', () => {
id: 1,
make: 'Venturi',
__typename: 'Car',
}
},
};

const data2 = {
car: {
id: 2,
make: 'Wiesmann',
__typename: 'Car',
}
},
};

const mocks = [
Expand All @@ -2984,23 +2981,23 @@ describe('useQuery Hook', () => {

switch (++renderCount) {
case 1:
expect(loading).toBeTruthy();
expect(loading).toBe(true);
expect(data).toBeUndefined();
expect(previousData).toBeUndefined();
break;
case 2:
expect(loading).toBeFalsy();
expect(loading).toBe(false);
expect(data).toEqual(data1);
expect(previousData).toBeUndefined();
setTimeout(refetch);
break;
case 3:
expect(loading).toBeTruthy();
expect(loading).toBe(true);
expect(data).toEqual(data1);
expect(previousData).toEqual(data1);
break;
case 4:
expect(loading).toBeFalsy();
expect(loading).toBe(false);
expect(data).toEqual(data2);
expect(previousData).toEqual(data1);
break;
Expand Down

0 comments on commit 3667cbd

Please sign in to comment.