mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2025-11-15 17:21:35 +10:00
Attempt to test Builder, using DatabaseContext mock.
This commit is contained in:
@ -11,5 +11,25 @@ module.exports = {
|
|||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
StaticQuery: jest.fn(),
|
StaticQuery: jest.fn(),
|
||||||
useStaticQuery: jest.fn(),
|
useStaticQuery: jest.fn().mockReturnValue({
|
||||||
|
site: {
|
||||||
|
siteMetadata: {
|
||||||
|
title: '',
|
||||||
|
description: '',
|
||||||
|
author: '',
|
||||||
|
siteUrl: '',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
file: {
|
||||||
|
childImageSharp: {
|
||||||
|
fluid(maxWidth = 512) {
|
||||||
|
base64;
|
||||||
|
aspectRatio;
|
||||||
|
src;
|
||||||
|
srcSet;
|
||||||
|
sizes;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}),
|
||||||
};
|
};
|
||||||
|
|||||||
70
src/contexts/__mocks__/DatabaseContext.js
Normal file
70
src/contexts/__mocks__/DatabaseContext.js
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
import { createContext, memo, useState } from 'react';
|
||||||
|
|
||||||
|
const defaultState = {
|
||||||
|
__setResumes: () => {},
|
||||||
|
isUpdating: false,
|
||||||
|
createResume: async () => {},
|
||||||
|
duplicateResume: async () => {},
|
||||||
|
deleteResume: () => {},
|
||||||
|
getResume: async () => {},
|
||||||
|
getResumes: async () => {},
|
||||||
|
updateResume: async () => {},
|
||||||
|
debouncedUpdateResume: async () => {},
|
||||||
|
};
|
||||||
|
|
||||||
|
const DatabaseContext = createContext(defaultState);
|
||||||
|
|
||||||
|
const DatabaseProvider = ({ children }) => {
|
||||||
|
const [isUpdating] = useState(false);
|
||||||
|
|
||||||
|
let resumes = {};
|
||||||
|
|
||||||
|
const __setResumes = (newResumes) => {
|
||||||
|
resumes = newResumes;
|
||||||
|
};
|
||||||
|
|
||||||
|
const getResume = async (id) => {
|
||||||
|
try {
|
||||||
|
const resume = await resumes.find((resume) => {
|
||||||
|
return resume.id === id;
|
||||||
|
});
|
||||||
|
|
||||||
|
return resume !== 'undefined' ? resume : null;
|
||||||
|
} catch (error) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const createResume = async ({ name }) => {};
|
||||||
|
|
||||||
|
const duplicateResume = async (originalResume) => {};
|
||||||
|
|
||||||
|
const updateResume = async (resume) => {};
|
||||||
|
|
||||||
|
const debouncedUpdateResume = {};
|
||||||
|
|
||||||
|
const deleteResume = async (id) => {};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<DatabaseContext.Provider
|
||||||
|
value={{
|
||||||
|
__setResumes,
|
||||||
|
isUpdating,
|
||||||
|
getResume,
|
||||||
|
createResume,
|
||||||
|
duplicateResume,
|
||||||
|
updateResume,
|
||||||
|
deleteResume,
|
||||||
|
debouncedUpdateResume,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{children}
|
||||||
|
</DatabaseContext.Provider>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default DatabaseContext;
|
||||||
|
|
||||||
|
const memoizedProvider = memo(DatabaseProvider);
|
||||||
|
|
||||||
|
export { memoizedProvider as DatabaseProvider };
|
||||||
1
src/contexts/__mocks__/StorageContext.js
Normal file
1
src/contexts/__mocks__/StorageContext.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
module.exports = {};
|
||||||
1
src/contexts/__mocks__/UserContext.js
Normal file
1
src/contexts/__mocks__/UserContext.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
module.exports = {};
|
||||||
22
src/pages/app/__tests__/builder.test.js
Normal file
22
src/pages/app/__tests__/builder.test.js
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
jest.mock('../../../contexts/DatabaseContext');
|
||||||
|
jest.mock('../../../contexts/UserContext');
|
||||||
|
jest.mock('../../../contexts/StorageContext');
|
||||||
|
|
||||||
|
import React from 'react';
|
||||||
|
import { render, cleanup } from '@testing-library/react';
|
||||||
|
|
||||||
|
//import DatabaseContext from '../../../contexts/DatabaseContext';
|
||||||
|
import Builder from '../builder';
|
||||||
|
|
||||||
|
afterEach(cleanup);
|
||||||
|
|
||||||
|
it('renders correctly', () => {
|
||||||
|
const resumeId = 'ab1c2d';
|
||||||
|
//const resumes = [{ id: resumeId }];
|
||||||
|
//DatabaseContext.__setResumes(resumes);
|
||||||
|
|
||||||
|
const { container } = render(<Builder id={resumeId} />);
|
||||||
|
|
||||||
|
expect(container).toBeTruthy();
|
||||||
|
expect(container).toBeInTheDocument();
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user